共计 1278 个字符,预计需要花费 4 分钟才能阅读完成。
地址:http://blog.csdn.net/hellokandy/article/details/51607311
#include "json.h" #include <iostream> #include <string> typedef Json::Writer JsonWriter; typedef Json::Reader JsonReader; typedef Json::Value JsonValue; using namespace std; void print_json(JsonValue data) { JsonValue::Members mem = data.getMemberNames(); for (auto iter = mem.begin(); iter != mem.end(); iter++) { cout << *iter << "\t: "; if (data[*iter].type() == Json::objectValue) { cout << endl; print_json(data[*iter]); } else if (data[*iter].type() == Json::arrayValue) { cout << endl; auto cnt = data[*iter].size(); for (auto i = 0; i < cnt; i++) { print_json(data[*iter][i]); } } else if (data[*iter].type() == Json::stringValue) { cout << data[*iter].asString() << endl; } else if (data[*iter].type() == Json::realValue) { cout << data[*iter].asDouble() << endl; } else if (data[*iter].type() == Json::uintValue) { cout << data[*iter].asUInt() << endl; } else { cout << data[*iter].asInt() << endl; } } return; } int main() { std::string szJson = "{ \"weatherinfo\":{\"city\":\"北京\", \"cityid\" : \"101010100\", \"temp\" : \"18\", \"WD\" : \"东南风\", \"WS\" : \"1级\", \"SD\" : \"17 % \", \"WSE\" : \"1\", \"time\" : \"17:05\", \"isRadar\" : \"1\", \"Radar\" : \"JC_RADAR_AZ9010_JB\", \"njd\" : \"这是什么\", \"qy\" : \"1011\", \"rain\" : \"0\"} }"; //解析json数据 JsonReader reader; JsonValue value; if (!reader.parse(szJson, value)) { return 0; } //遍历键值 print_json(value); system("pause"); return 0; }
运行结果:

正文完