我正在使用 jsoncpp,但在使用其中一个编写器编写 json 消息时,我对它们的格式设置有疑问。
例如:
root["name"] = "monkey";
std::cout << writer.write(root) << "\n";
给我一些像这样格式化的东西
{
"name" : "monkey"
}
虽然我真的想要:
{"name":"monkey"}
我查看了文档并提到了 setIndentLength()
但它们没有出现在源文件中,所以它们可能已被弃用或其他原因。
有人知道怎么做吗?
最佳答案
作为cdunn2001答案的扩展,不需要重写默认设置(.settings_)。您可以只覆盖 StreamWriterBuilder 构建器的“缩进”值:
Json::Value json = ...
Json::StreamWriterBuilder builder;
builder["commentStyle"] = "None";
builder["indentation"] = ""; //The JSON document is written in a single line
std::unique_ptr<Json::StreamWriter> writer(builder.newStreamWriter());
writer->write(json, &std::cout);
关于c++ - jsoncpp格式化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7557258/