#include <iostream>
#include <json/json.h>
int main() {
// 创建一个 JSON 对象
Json::Value root;
root["name"] = "jsoncpp example";
root["version"] = "1.0";
// 添加一个数组
Json::Value array;
array.append("element1");
array.append("element2");
root["array"] = array;
// 输出 JSON 字符串
Json::FastWriter writer;
std::string output = writer.write(root);
std::cout << "JSON Output: " << output << std::endl;
// 解析 JSON 字符串
std::string input = "{\"name\":\"jsoncpp example\",\"version\":\"1.0\",\"array\":[\"element1\",\"element2\"]}";
Json::CharReaderBuilder readerBuilder;
std::unique_ptr<Json::CharReader> const jsonReader(readerBuilder.newCharReader());
Json::Value parsedValue;
std::string errs;
bool parsingSuccessful = jsonReader->parse(input.c_str(), input.c_str() + input.size(), &parsedValue, &errs);
if (!parsingSuccessful) {
std::cout << "Failed to parse JSON: " << errs << std::endl;
return 1;
}
// 访问解析后的 JSON 数据
std::cout << "Parsed name: " << parsedValue["name"].asString() << std::endl;
std::cout << "Parsed version: " << parsedValue["version"].asString() << std::endl;
std::cout << "Parsed array elements: ";
for (const auto& element : parsedValue["array"]) {
std::cout << element.asString() << " ";
}
std::cout << std::endl;
return 0;
}
创建 JSON 对象:
Json::Value 类创建一个 JSON 对象,并为其添加键值对。添加数组:
Json::Value 创建一个数组,并通过 append 方法添加元素,然后将数组赋值给 JSON 对象的一个键。输出 JSON 字符串:
Json::FastWriter 将 JSON 对象转换为字符串并输出。解析 JSON 字符串:
Json::CharReaderBuilder 和 Json::CharReader 解析 JSON 字符串,并检查解析是否成功。访问解析后的 JSON 数据:
上一篇:c++ 解析json
下一篇:js array concat
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站