一些json在js和c++ jsoncpp的操作

1.对于javascript部分,如果将字符串转为json对象?

var aa ={
keyword:"zoumm",
requestcount:"5",
nextPageToken:"",
prevPageToken:""
};

var bb = JSON.stringify(aa);
var obj = JSON.parse(bb);

则obj就是json对象。

For JsonCpp 用法:

1.

Json::Value root;
Json::Reader reader;
if(reader.parse(chunk->memory, root))//chunk->memory内存数据
{
  
}
if(root.isMember("pageInfo")) //是否存在pageinfo member/object
{
}
if(root["items"].isArray())// member是否是数组对象
{
}
root["pageInfo"]["totalResults"].asInt(); //嵌套取值
 
root["nextPageToken"].asString();//可以将值转换为string对象。
 
写入json数据 ,videos为数组对象:
Json::Value video;
Json::Value videos;
videos.append(video);
 
resultjson["videos"] = videos;

2.对于jsoncpp来讲如何打印Json::Value的值?

Json::Value root;

顾名思义,用Json::FastWriter来处理json应该是最快的,下面我们来试试。
Json::FastWriter fast_writer;
std::cout << fast_writer.write(root) << std::endl;
输出结果为:
{“key_array”:[“array_string”,1234],”key_boolean”:false,”key_double”:12.3450,”key_number”:12345,”key_object”:{“age”:26,”name”:”huchao”},”key_string”:”value_string”}
---------------------
再次顾名思义,用Json::StyledWriter是格式化后的json,下面我们来看看Json::StyledWriter是怎样格式化的。
Json::StyledWriter styled_writer;
std::cout << styled_writer.write(root) << std::endl;
输出结果为:
{
“key_array” : [ “array_string”, 1234 ],
“key_boolean” : false,
“key_double” : 12.3450,
“key_number” : 12345,
“key_object” : {
“age” : 26,
“name” : “huchao”
},
“key_string” : “value_string”
}

原文地址:https://www.cnblogs.com/nx520zj/p/9868785.html