下面的代码可以演示典型的读取操作,记得在获取json的值时,一定要判断find() != end(),否则如果直接访问还可以,返回NULL,如果用string或int变量去接收,就会错误退出了。
#include#include "json.hpp" using namespace std; using namespace nlohmann; int main(int argc, char const *argv[]) { json data = json::parse("{"code": 0, "msg": "OK"}"); if (data.is_discarded()) { cout << "data is not valid json" << endl; return -1; } if (data.find("code") == data.end()) { cout << "no code in json" << endl; return -1; } for (auto item: data.items()) { cout << item.key() << ": " << item.value() << endl; } const unsigned short &code = data["code"]; // 这里可以是任何数值类型,short,int,longlong包括unsigned cout << "code: " << code << endl; data = json::parse("[1, 3, 5, 7, 9]"); for (int i = 0; i < data.size(); i++) { cout << i << ": " << data[i] << endl; } return 0; }
下面的文章中包含更全面的操作:http://www.zyiz.net/tech/detail-250507.html



