C/C++由字符串转JSON/JSON转字符串/数组解析/数组添加
字符串轉(zhuǎn)成JSON(其中str為字符串)
| 1 2 3 4 5 | Json::Reader Reader; Json::Value DevJson; Reader.parse(str,DevJson); int?dev_id = DevJson["dev_id"].asInt(); int?index = DevJson["index"].asInt(); |
JSON轉(zhuǎn)字符串(其中DevStr為字符串)
| 1 2 3 | Json::Value DevJson = DevsJson[i]; std::string DevStr = DevJson.toStyledString(); printf("Msg:%s", DevStr.c_str()); |
JSON數(shù)組解析:
| 1 2 3 4 5 6 7 8 9 10 | 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()); ?} |
數(shù)組添加:
| 1 2 3 4 5 | Json::Value root; Json::Value person; person["name"] =?"hello world"; person["age"] = 100; root.append(person); |
結(jié)果:[{"age":100,"name":"hello world"}]
---------------------------------------------------
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | // MyTest.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。 // #include "stdafx.h" #include "iostream" #include "time.h" #include "map" #include <windows.h> #include <sstream> #include <list> #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; } |
輸出結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的C/C++由字符串转JSON/JSON转字符串/数组解析/数组添加的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Springboot Mybatis 整
- 下一篇: 你辛苦来人间一趟,不是来作任务的,你应该