天天看点

jsoncpp中json字符串的格式化及非格式化转换

之前搞jsoncpp解析时,在将一个json数组整体赋值给一个string变量时,当时调用的是

string strData = root[“LaserData”].asString();

但是结果不理想,里面存的都是整型数据。根据需要,找了半天发现了一位老哥写的jsoncpp有两种处理串的方法如下:

1. toStyledString()
2. FastWriter中的write()
           

具体用法如下:

Json::Value root;

…//root中写入数据

//方法一:转为格式化字符串,里面加了很多空格及换行符

string strJson1 = root.toStyledString();

//方法二:转为未格式化字符串,无多余空格及换行符

Json::FastWriter writer;

string strJson1 = writer.write(root);

第一种转化后写入文件数据是每个一行(有换行符);第二种转化后写入文件数据时一行显示。

另,想要string串中的单个字符替换为另一种字符的,传送门在这:点这里

继续阅读