博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C/C++由字符串转JSON/JSON转字符串/数组解析/数组添加
阅读量:5122 次
发布时间:2019-06-13

本文共 1918 字,大约阅读时间需要 6 分钟。

字符串转成JSON(其中str为字符串)

Json::Reader Reader;	Json::Value DevJson;	Reader.parse(str,DevJson);	int dev_id = DevJson["dev_id"].asInt();	int index = DevJson["index"].asInt();

  

JSON转字符串(其中DevStr为字符串)

Json::Value DevJson = DevsJson[i]; std::string DevStr = DevJson.toStyledString(); printf("Msg:%s", DevStr.c_str());

  

JSON数组解析:

Json::Reader Reader; Json::Value DevsJson; Reader.parse(MsgStr, DevsJson); int siNum = DevsJson.size(); for(int i=0; i < siNum; i++) { Json::Value DevJson = DevsJson[i]; std::string DevStr = DevJson.toStyledString(); printf("Msg:%s", DevStr.c_str()); }

  

数组添加:

Json::Value root; Json::Value person; person["name"] = "hello world"; person["age"] = 100; root.append(person);

  

结果:[{"age":100,"name":"hello world"}]

---------------------------------------------------

// MyTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "iostream"#include "time.h"#include "map"#include 
#include
#include
#include "json\json.h" #include "stdint.h"using namespace std;int _tmain(int argc, _TCHAR* argv[]){ Json::Value value; uint32_t ssrc1 = 5305490; value["ssrc1"] = ssrc1; uint32_t ssrc2 = 2152748638; value["ssrc2"] = ssrc2; std::string body = value.toStyledString(); cout << body << endl; Json::Reader reader; Json::Value data; reader.parse(body, data, false); if (data.isMember("ssrc1")) { cout << "ssrc1"; if (data["ssrc1"].isInt()) cout << " is Int" << endl; if (data["ssrc1"].isUInt()) cout << " is UInt" << endl; } if (data.isMember("ssrc2")) { cout << "ssrc2"; if (data["ssrc2"].isInt()) cout << " is Int" << endl; if (data["ssrc2"].isUInt()) cout << " is UInt" << endl; } uint32_t ssrc11 = data["ssrc1"].asUInt(); uint32_t ssrc21 = data["ssrc2"].asUInt(); cout << "ssrc11:" << ssrc11 << endl; cout << "ssrc21:" << ssrc21 << endl; system("pause"); return 0;}

输出结果:

 

转载于:https://www.cnblogs.com/blackhumour2018/p/9467232.html

你可能感兴趣的文章
DataGridView的行的字体颜色变化
查看>>
Java再学习——关于ConcurrentHashMap
查看>>
如何处理Win10电脑黑屏后出现代码0xc0000225的错误?
查看>>
局域网内手机访问电脑网站注意几点
查看>>
[Serializable]的应用--注册码的生成,加密和验证
查看>>
Day19内容回顾
查看>>
第七次作业
查看>>
SpringBoot项目打包
查看>>
Linux操作系统 和 Windows操作系统 的区别
查看>>
《QQ欢乐斗地主》山寨版
查看>>
文件流的使用以及序列化和反序列化的方法使用
查看>>
Android-多线程AsyncTask
查看>>
第一个Spring冲刺周期团队进展报告
查看>>
红黑树 c++ 实现
查看>>
Android 获取网络链接类型
查看>>
linux中启动与终止lnmp的脚本
查看>>
gdb中信号的处理[转]
查看>>
LeetCode【709. 转换成小写字母】
查看>>
如何在Access2007中使用日期类型查询数据
查看>>
CF992E Nastya and King-Shamans(线段树二分+思维)
查看>>