如何在 C++ 中使用 JSON CPP 编写嵌套 JSON
how to write nested json using jsoncpp in c++
{
"id": "1234567890",
"seatbid":
[
{
"bid" :
[
{
"id": "1",
"crid" : "creative112",
}
],
"seat" : "512"
}
]
}
我是 c++ 和 Jsoncpp 的新手。我可以使用jsoncpp编写普通的json,但我不能像上面那样编写嵌套的jason。你能教我如何在 c++ 中使用 jsoncpp 编写嵌套的 json 吗
这是一个向前推进的解决方案:
#include <json/json.h>
int main()
{
Json::Value bid0;
bid0["id"] = "1";
bid0["crid"] = "creative112";
Json::Value bid;
bid.append(bid0);
Json::Value seatbid0;
seatbid0["bid"] = bid;
seatbid0["seat"] = "512";
Json::Value seatbid;
seatbid.append(seatbid0);
Json::Value root;
root["id"] = "1234567890";
root["seatbid"]=seatbid;
Json::StyledWriter styledWriter;
std::cout << styledWriter.write(root);
}
如果您
打算将一个嵌套在另一个中,例如:
{
"id" : "1234567890",
"seatbid" : {
"bid" : {
"crid" : "creative112",
"id" : "1"
},
"seat" : "512"
}
}
以下代码可能是您要查找的代码:
#include <iostream>
#include "JsonCpp/jsoncpp.h"
using namespace std;
class IdCrid : public IJsonSerializable {
public:
IdCrid() :id(""), crid("") {}
virtual void Serialize(Json::Value& root) {
root["id"] = id;
root["crid"] = crid;
}
virtual void Deserialize(Json::Value& root) {
}
string id;
string crid;
};
class SeatBid : public IJsonSerializable {
public:
SeatBid() :seat("") {}
virtual void Serialize(Json::Value& root) {
bid.Serialize(root["bid"]);
root["seat"] = seat;
}
virtual void Deserialize(Json::Value& root) {
}
string seat;
IdCrid bid;
};
class IdSeatbid : public IJsonSerializable {
public:
IdSeatbid() :id(""){}
virtual void Serialize(Json::Value& root) {
root["id"] = id;
seatbid.Serialize(root["seatbid"]);
}
virtual void Deserialize(Json::Value& root) {
}
string id;
SeatBid seatbid;
};
void printJSON() {
IdCrid ic;
ic.id = "1";
ic.crid = "creative112";
SeatBid sb;
sb.bid = ic;
sb.seat = "512";
IdSeatbid jp;
jp.id = "1234567890";
jp.seatbid = sb;
string outString = "";
CJsonSerializer::Serialize(&jp, outString);
fprintf(stdout, "%s", outString.c_str());
}
int main()
{
printJSON();
return 0;
}
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- Linux的Cpp上的计时器
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 命名空间中具有.h和.cpp文件的类
- 在c++中使用nlohmann从类到json的转换
- 内置函数可查看CPP中的成员变量
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- Cpp-Tuple使用带有变量的get
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 如何将 JSON 键值(我使用 cpp boost 解析)存储在相关数据结构中?
- 将 JSON 对象作为参数在 JNI 中传递给 CPP,并在 CPP 中检索 JSON 对象的数据
- Cpp:Cpp中的JSON解析器,提供支持序列化/反序列化功能,将JSON对象转换为用户定义的类
- 交叉编译 json-cpp 用于 Synology RS812+
- 如何在 C++ 中使用 JSON CPP 编写嵌套 JSON
- JSON CPP ISMEMBER()始终返回true
- 使用 yaml-cpp 解析 json/yaml 数组
- Json cpp asCstring() 存储在变量中时返回空字符串
- 带有restclient cpp的JSON属性树