Jsoncpp格式问题
jsoncpp formatting problems
我正在使用jsoncpp,我有一个问题,json消息是如何格式化时,他们使用作家之一写的。
例如:root["name"] = "monkey";
std::cout << writer.write(root) << "n";
给出像这样的格式
{
"name" : "monkey"
}
当我真正想要的是:
{"name":"monkey"}
我看了文档,有提到setIndentLength()
,但它们没有出现在源文件中,所以可能它们被弃用或其他什么。
不管怎样,有人知道怎么做吗?
作为cdunn2001答案的扩展,不需要重写默认设置(.settings_)。你可以重写StreamWriterBuilder builder的'indentation'值:
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);
如果您使用Jsoncpp 1.1版本,您可以使用Json::FastWriter
代替Json::StyledWriter
或Json::Writer
:
JSON文档写在单行中。它不是用来"人类"消费,但对于支持RPC等特性可能很有用其中带宽是有限的
不支持使用FastWriter
、StyledWriter
、StyledStreamWriter
和Writer
。使用StreamWriterBuilder
,它将创建一个StreamWriter
,并使用稍微不同的API。这样使用:
Json::StreamWriterBuilder builder;
builder.settings_["indentation"] = "";
std::unique_ptr<Json::StreamWriter> writer(builder.newStreamWriter());
writer->write(root, &std::cout);
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- 在用于格式4的arm模拟器中实现功能时的一个问题
- 格式说明符C++有什么问题
- DNS 查询格式标头结构中的小字节序问题
- TinyXML以及标签和格式问题
- 格式化二维数组的标准偏差代码时遇到问题
- 自定义图像格式的奇怪OpenCV问题
- c++输出格式问题
- 使用复制算法在 C++ 中打印矢量的格式问题
- 将军事时间转换为标准格式(HH:MM)并以标准格式计算平均值.三个问题
- C++括号和格式问题(未声明的标识符,本地函数定义是非法的)
- 结构格式问题,无法转换
- VS10 中文件名的正则表达式格式有什么问题<regex>?
- 与阅读不同格式的数字字符有关的问题
- Jsoncpp格式问题
- time_t转换格式问题