【发布时间】:2018-12-30 06:00:12
【问题描述】:
我需要使用 C# 将 Google protobuf IMessage 对象保存到 json 文件中。 这是示例代码:
using (var input = File.OpenRead(protodatFile))
{
string jsonString = null;
message.MergeFrom(input); //read message from protodat file
JsonFormatter formater = new JsonFormatter(
new JsonFormatter.Settings(false));
jsonString = formatter.Format(message);
System.IO.File.WriteAllText(jsonFile, jsonString);
}
这使用JsonFormatter from the Google Protobuf library。
问题:所有 json 内容都存储在一行中。当文件很大(> 50 MB)时,很难在文本编辑器中打开/查看。
在这里制作缩进 jsonFile 的最佳方法是什么?
【问题讨论】:
-
这不是链接问题的重复。这个问题是 Google Protobuf 特有的,它有自己的 JSON 序列化逻辑。
-
愚蠢的这个问题被标记为重复,当它不是。如果您对 Json.Net 依赖项没有问题,请尝试以下操作:stackoverflow.com/a/48153713/459102
标签: c# protocol-buffers indentation