using System.Globalization;
public static void Main()
Console.WriteLine(Convert(new x(), new JsonSerializerSettings{Formatting = Formatting.Indented}));
static string Convert(object value, JsonSerializerSettings settings)
JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(settings);
StringBuilder sb = new StringBuilder(256);
StringWriter sw = new StringWriter(sb, CultureInfo.InvariantCulture);
using (var jsonWriter = new MyWriter(sw))
jsonWriter.Formatting = jsonSerializer.Formatting;
jsonSerializer.Serialize(jsonWriter, value, null);
public string y = "hello";
class MyWriter : JsonTextWriter
public MyWriter(TextWriter sw) : base(sw)
protected override void WriteIndentSpace()