带有注释的jsoncpp空根节点

时间:2014-07-31 16:23:38

标签: jsoncpp root-node

使用jsoncpp,如果我使用下面的代码,我得到一个带有注释的根节点和一个nullValue的Json :: ValueType:

std::string somejson("// Configuration options\
{\
// Default encoding for text\
\"encoding\" : \"UTF-8\",\
\
// Plug-ins loaded at start-up\
\"plug-ins\" : [\
    \"python\",\
    \"c++\",\
    \"ruby\"\
    ],\
    \
// Tab indent size\
\"indent\" : { \"length\" : 3, \"use_space\": true }\
}");
Json::Value root;
Json::Reader reader;
reader.parse(somejson, root);

但是,如果我自己创建一个空根节点并添加注释,它就会爆炸:

Json::Value rootNode = Json::Value(Json::nullValue);
rootNode.setComment("My wonderful comment", Json::commentBefore);

我做的事真的很蠢吗?有人有任何提示吗?

1 个答案:

答案 0 :(得分:1)

很明显。一个简单的跟踪揭示了Value :: CommentInfo :: setComment断言注释必须以/

开头

我的评论没有。需要更多咖啡。