我只是希望JSON.net序列化程序写出JSON对象(到文件),每行一个对象,但它只是将所有内容附加在同一顶行.所有的JSON.net示例似乎暗示我想要的是默认行为,但我没有看到它以这种方式工作.这是代码:
static void EtwToJsonHelper(TraceEvent data, JsonSerializer s, JsonTextWriter jw)
{
var names = data.PayloadNames;
jw.WriteStartObject();
jw.WritePropertyName("TimeStamp");
jw.WriteValue(data.TimeStamp);
...
jw.WriteEndObject();
}
Run Code Online (Sandbox Code Playgroud)
输出如下所示:{object} {obj2} ... {objN}全部在一行上.
但我想要:
{} OBJ1
{} OBJ2
...
我该怎么做呢?
p.s*_*w.g 13
为清晰起见,提供的示例是缩进的,但默认行为是在没有任何不必要的空格的情况下编写生成的JSON字符串.您可以像这样覆盖此行为:
jw.Formatting = Formatting.Indented;
jw.WriteStartObject();
...
Run Code Online (Sandbox Code Playgroud)
进一步阅读
要确保每个条目都附加到一个新行,您可以在编写JSON对象后编写一个新的行字符,如下所示:
...
jw.WriteEndObject();
jw.WriteRaw("\n");
Run Code Online (Sandbox Code Playgroud)
或者通过调用WriteLine底层TextWriter,虽然这需要在此方法之外完成.
| 归档时间: |
|
| 查看次数: |
10580 次 |
| 最近记录: |