Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++ jsoncpp

作者:伪言   发布日期:2026-05-03   浏览:42

#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;
}

解释说明

  1. 创建 JSON 对象:

    • 使用 Json::Value 类创建一个 JSON 对象,并为其添加键值对。
  2. 添加数组:

    • 使用 Json::Value 创建一个数组,并通过 append 方法添加元素,然后将数组赋值给 JSON 对象的一个键。
  3. 输出 JSON 字符串:

    • 使用 Json::FastWriter 将 JSON 对象转换为字符串并输出。
  4. 解析 JSON 字符串:

    • 使用 Json::CharReaderBuilderJson::CharReader 解析 JSON 字符串,并检查解析是否成功。
  5. 访问解析后的 JSON 数据:

    • 通过键名访问解析后的 JSON 数据,并输出相关内容。

上一篇:c++ 解析json

下一篇:js array concat

大家都在看

js 数组打乱顺序

js 两个数组取交集

js 数组对象排序

js 对象数组排序

js 数组删掉第一个值

js fill

js fill方法

js 数组连接

js json数组

js 数组复制

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站