考虑以下示例,我的来源是
Json::Value root;
root["id"]=0;
Json::Value text;
text["first"]="i";
text["second"]="love";
text["third"]="you";
root["text"]=text;
root["type"]="test";
root["begin"]=1;
root["end"]=1;
Json::StyledWriter writer;
string strJson=writer.write(root);
cout<<"JSON WriteTest" << endl << strJson <<endl;
我以为我会按行的顺序编写 json 字段。相反,结果是:
JSON WriteTest
{
"begin" : 1,
"end" : 1,
"id" : 0,
"text" : {
"first" : "i",
"second" : "love",
"third" : "you"
},
"type" : "test"
}
我想要 json 格式是
JSON WriteTest
{
"id" : 0,
"text" : {
"first" : "i",
"second" : "love",
"third" : "you"
},
"type" : "test"
"begin" : 1,
"end" : 1,
}
如何编写 Json 订单?
最佳答案
不,我认为你不能。 JsonCpp 将其值保存在 std::map<CZString, Value>
中,该代码始终按 CZString 比较排序。所以它不知道你添加项目的原始顺序。
关于c++ - 以 jsoncpp (c++) 编写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30837519/