c# – 为什么JSON.NET在一行上序列化所有内容?
发布时间:2020-12-15 18:01:20 所属栏目:百科 来源:网络整理
导读:我只是希望 JSON.net序列化程序写出 JSON对象(到文件),每行一个对象,但它只是将所有内容附加在同一顶行.所有的JSON.net示例似乎暗示我想要的是默认行为,但我没有看到它以这种方式工作.这是代码: static void EtwToJsonHelper(TraceEvent data,JsonSerialize
我只是希望
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(); } 输出如下: 但我想要: {} OBJ1 {} OBJ2 … 我该怎么做呢? 解决方法
为清晰起见,提供的示例是缩进的,但默认行为是在没有任何不必要的空格的情况下编写生成的JSON字符串.您可以像这样覆盖此行为:
jw.Formatting = Formatting.Indented; jw.WriteStartObject(); ... 进一步阅读 > 要确保每个条目都附加到一个新行,您可以在编写JSON对象后编写一个新的行字符,如下所示: ... jw.WriteEndObject(); jw.WriteRaw("n"); 或者通过在底层TextWriter上调用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |