在用cocos2dx的时候都是用cocos2dx 自带的CCDictionary解析json的
现在用jsoncpp来解析json。
// json
Json::Value worker1;
worker1["name"] = Json::Value("No.1");
worker1["age"] = Json::Value("22");
Json::Value JiShuBu;
JiShuBu["worker"] = worker1;
JiShuBu["number"] = Json::Value("30");
Json::Value company;
company["JiShuBu"] = JiShuBu;
// Json::Value ShiChangBu;
Json::Value worker2;
worker2["name"] = Json::Value("No.2");
worker2["age"] = Json::Value("23");
company["ShiChangBu"].append(worker2); // 类型为数组
Json::ValueType type = company.type(); //获得root的类型,此处为objectValue类型。
// writer
Json::FastWriter fast_writer;
std::string sRoot1 = fast_writer.write(company);
std::cout << fast_writer.write(company) << std::endl;
//reader
//Reader
Json::Reader reader;
Json::Value json_object;
if (!reader.parse(sRoot1, json_object))
{
return;
}
std::string sWorkerName = json_object["JiShuBu"]["worker"]["name"].asString();
// 遍历数组
int iArray = json_object["ShiChangBu"].size();
for(int i = 0; i < iArray; ++i)
{
Json::Value val_array1 = json_object["ShiChangBu"][i]["name"];
std::string sArray1 = val_array1.asString();
}
// end