淘先锋技术网

首页 1 2 3 4 5 6 7

在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,并读取其中的数据。