使用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);
我做的事真的很蠢吗?有人有任何提示吗?
答案 0 :(得分:1)
很明显。一个简单的跟踪揭示了Value :: CommentInfo :: setComment断言注释必须以/
开头我的评论没有。需要更多咖啡。