root["key_object"] = Json_temp; //新建一个Key(名为:key_object),赋予json::Value对象值。
root["key_array"].append("array_string"); //新建一个Key(名为:key_array),类型为数组,对第一个元素赋值为字符串:"array_string"。
root["key_array"].append(1234); //为数组key_array赋值,对第二个元素赋值为:1234。
Json::ValueType type = root.type(); //获得root的类型,此处为objectValue类型。
注:跟C++不同,JavaScript数组可以为任意类型的值,所以jsoncpp也可以。
如上几个用法已经可以满足绝大部分json应用了,当然jsoncpp还有一些其他同能,比如说设置注释、比较json大小、交换json对象等,都很容易使用,大家自己尝试吧。
2、Writer
如上说了Json::Value的使用方式,现在到了该查看刚才赋值内容的时候了,查看json内容,使用Writer类即可。
Jsoncpp的Json::Writer类是一个纯虚类,并不能直接使用。在此我们使用Json::Writer的子类:Json::FastWriter、Json::StyledWriter、Json::StyledStreamWriter。
顾名思义,用Json::FastWriter来处理json应该 3888 最快的,下面我们来试试。
Json::FastWriter fast_writer;
std::cout << fast_writer.write(root) << std::endl;
输出结果为: