首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JSONCPP写入文件

JSONCPP写入文件
EN

Stack Overflow用户
提问于 2010-11-27 11:29:20
回答 4查看 60.8K关注 0票数 26

JSONCPP有一个编写器,但它所做的似乎只是从解析器获取信息,然后将其输出到字符串或流中。我如何让它改变或创建新的对象、数组、值、字符串等,并将它们写入文件?

EN

回答 4

Stack Overflow用户

发布于 2013-01-08 16:40:59

代码语言:javascript
复制
#include<json/writer.h>

代码:

代码语言:javascript
复制
    Json::Value event;   
    Json::Value vec(Json::arrayValue);
    vec.append(Json::Value(1));
    vec.append(Json::Value(2));
    vec.append(Json::Value(3));

    event["competitors"]["home"]["name"] = "Liverpool";
    event["competitors"]["away"]["code"] = 89223;
    event["competitors"]["away"]["name"] = "Aston Villa";
    event["competitors"]["away"]["code"]=vec;

    std::cout << event << std::endl;

输出:

代码语言:javascript
复制
{
        "competitors" : 
        {
                "away" : 
                {
                        "code" : [ 1, 2, 3 ],
                        "name" : "Aston Villa"
                },
                "home" : 
                {
                        "name" : "Liverpool"
                }
        }
}
票数 49
EN

Stack Overflow用户

发布于 2015-05-12 03:28:30

代码语言:javascript
复制
#include <json.h>
#include <iostream>
#include <fstream>

void main()
{
    std::ofstream file_id;
    op_file_id.open("file.txt");

    Json::Value value_obj;
    //populate 'value_obj' with the objects, arrays etc.

    Json::StyledWriter styledWriter;
    file_id << styledWriter.write(value_obj);

    file_id.close();
}
票数 11
EN

Stack Overflow用户

发布于 2010-11-27 11:45:32

AFAICT中,您创建类型为Json::Value的对象,它满足所有JSON数据类型的需求,并将结果传递给Json::Writer (具体地说,是它的派生类型之一),或者只是传递给一个流。

例如:要将一个包含三个整数的数组写入文件:

代码语言:javascript
复制
Json::Value vec(Json::arrayValue);
vec.append(Json::Value(1));
vec.append(Json::Value(2));
vec.append(Json::Value(3));
std::cout << vec;
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4289986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档