漂亮的打印 JSON 没有 serde 的换行符?
Pretty print JSON without linebreaks with serde?
我想使用 Rust 的 serde crate 漂亮地打印一些 JSON。使用 serde_json::to_string
我可以得到这个:
{"foo":1,"bar":2}
如果我切换到 serde_json::to_string_pretty
我会得到这个:
{
"foo": 1,
"bar": 2
}
但是,我想要一些中间有空格的东西,这样看起来更容易,但没有换行符,所以它保持在一行中:
{"foo": 1, "bar": 2}
我怎样才能做到这一点?请注意,实际 JSON 被字符串化可能更复杂,包含未知的嵌套级别。所以只是漂亮的打印然后去掉换行符是行不通的。
在后台,to_string_pretty
使用内置的 PrettyFormatter
调用 Serializer::with_formatter
。
您的选择是:
- 创建
Formatter
的自定义实现,以您想要的格式输出 JSON。复制和粘贴 PrettyFormatter
可能是一个好的开始!
- 修改
PrettyFormatter
以将此作为选项提供并提交拉取请求。它已经允许您自定义用于缩进的字符串,所以我认为允许删除换行符不会太费力!
我想使用 Rust 的 serde crate 漂亮地打印一些 JSON。使用 serde_json::to_string
我可以得到这个:
{"foo":1,"bar":2}
如果我切换到 serde_json::to_string_pretty
我会得到这个:
{
"foo": 1,
"bar": 2
}
但是,我想要一些中间有空格的东西,这样看起来更容易,但没有换行符,所以它保持在一行中:
{"foo": 1, "bar": 2}
我怎样才能做到这一点?请注意,实际 JSON 被字符串化可能更复杂,包含未知的嵌套级别。所以只是漂亮的打印然后去掉换行符是行不通的。
在后台,to_string_pretty
使用内置的 PrettyFormatter
调用 Serializer::with_formatter
。
您的选择是:
- 创建
Formatter
的自定义实现,以您想要的格式输出 JSON。复制和粘贴PrettyFormatter
可能是一个好的开始! - 修改
PrettyFormatter
以将此作为选项提供并提交拉取请求。它已经允许您自定义用于缩进的字符串,所以我认为允许删除换行符不会太费力!