
jsoncpp
IT8343
这个作者很懒,什么都没留下…
展开
-
jsoncpp读、写、修改json文件
URD360.json如下:{ "autoSweep": false, "information": { "basic": { "id": 1, "name": "station" }, "azimuth": { "azimuthData": 0.00, "useLocal": false }, "magneti原创 2021-01-24 17:16:34 · 2613 阅读 · 5 评论 -
jsoncpp解决序列化顺序按字母排序问题
使用场景:需要修改json中key的值,如果使用jsoncpp读取——序列化——修改值——存储,这样的话存的json文件的关键字的顺序就和源文件不是一致的,默认会按照字母进行排序。使用jsoncpp没有找到合适的方式进行解决,只能借助python进行解决。我们可以在c++中调用python的函数进行这个操作:...原创 2021-01-20 21:05:07 · 4438 阅读 · 2 评论 -
jsoncpp解决浮点数精度问题
在前面的例子当中json序列化可以看到,直接读取浮点数,会导致精度丢失。目前没有找到很好的解决方案,只是在json中把浮点数改为string,再用相关的函数把string转为double。这样貌似只能得到6位小数,后面的小数位依然会被丢弃,不过暂时已经可以满足我的需求了,等以后需要更加精确的时候再去找合适的方法吧。这里有一篇文章可以借鉴:C++下string类型转double类型123.json:{ "ID": 30, "longitude": "112.1234511原创 2021-01-20 10:47:37 · 4595 阅读 · 1 评论 -
jsoncpp判断key是否存在以及类型
简单地说,可以用isMember()进行判断存在与否,类型需要使用is....()具体判断:#include "../common.h"#include <jsoncpp/json/json.h>int main(){ ifstream readFile("123.json",ios::binary); if(!readFile.is_open()) { printf("open fail\n"); return -1;原创 2021-01-19 19:42:42 · 5821 阅读 · 0 评论 -
jsconcpp 序列化json配置文件
123.json配置文件如下:{ "ID": 20, "longitude": 112.12345, "latitude": 28.67890, "num": 123, "openFlag": true, "name": "xi xi", "data": [4, 2, 3, 4, 5]}序列化代码如下:#include "../common.h"#include <jsoncpp/json/json.h>int ma原创 2021-01-16 18:26:29 · 438 阅读 · 0 评论