在C++中,c map是一种常见的数据结构,它可以将一个键关联到一个值上,类似于字典。而在Web开发中,我们经常需要使用JSON(JavaScript Object Notation)格式来传输数据,json字符串是一种轻量级的数据格式,它可以被多种编程语言解析。
对于C++开发者来说,将JSON字符串解析成c map可能是一件比较麻烦的事情,但是,有一些可以轻松完成这个解析过程的第三方库,如JsonCpp。
#include#include "json/json.h" int main() { std::string jsonString = R"({ "name": "张三", "age": 18, "address": { "country": "中国", "city": "上海" } })"; Json::Value root; Json::CharReaderBuilder builder; Json::CharReader* reader = builder.newCharReader(); std::string errors; bool parsed = reader->parse(jsonString.c_str(), jsonString.c_str() + jsonString.size(), &root, &errors); delete reader; if (!parsed) { std::cerr<< "Failed to parse JSON"<< std::endl; return -1; } std::cout<< "Name: "<< root["name"].asString()<< std::endl; std::cout<< "Age: "<< root["age"].asInt()<< std::endl; std::cout<< "Country: "<< root["address"]["country"].asString()<< std::endl; std::cout<< "City: "<< root["address"]["city"].asString()<< std::endl; return 0; }
以上代码演示了如何使用JsonCpp库将JSON字符串解析成c map,并读取其中的数据。