如何在使用Json.net编写JSON时打开缩进?

ash*_*ina 57 c# json json.net

我正在使用Json.Net将XML序列化为Json.当我将序列化的字符串写入文件时,它只是一行.我如何通过常用标签和缩进实际看起来像Json?

Ode*_*ded 93

将JSON writer Formatting属性设置为Formatting.Indented:

jsonWriter.Formatting = Formatting.Indented;
Run Code Online (Sandbox Code Playgroud)

这些JsonConvert.Serialize*方法也有重载,需要Formatting枚举(感谢John Flatness).

文档:序列化对象

  • 各种`JsonConvert.Serialize*`方法也将`Formatting`作为第二个参数. (18认同)

Ome*_*r K 10

对于那些问我如何使用 C# 在 .NET 中获取格式化 JSON 并希望立即了解如何使用它的人以及单行爱好者。以下是缩进的 JSON 字符串一行代码:

有 2 个众所周知的 JSON 格式化程序或解析器可供序列化:

Newtonsoft Json.Net版本:

using Newtonsoft.Json;

var jsonString = JsonConvert.SerializeObject(yourObj, Formatting.Indented);
Run Code Online (Sandbox Code Playgroud)

.Net 7版本:

using System.Text.Json;

var jsonString = JsonSerializer.Serialize(yourObj, new JsonSerializerOptions { WriteIndented = true });
Run Code Online (Sandbox Code Playgroud)