using System.Diagnostics;
public static void Main()
""child"" : { ""a"" : ""b"", ""c"" : ""d"" },
""array"" : [ { ""x"" : 1, ""y"" : 2 }, { ""x"" : 3, ""y"" : 4 } ]
var sw = Stopwatch.StartNew();
string minified = JsonHelper.Minify2(original);
Console.WriteLine(minified);
Console.WriteLine("Minify2: {0}", sw.Elapsed);
minified = JsonHelper.Minify1(original);
Console.WriteLine(minified);
Console.WriteLine("Minify1: {0}", sw.Elapsed);
string beautified = JsonHelper.Beautify(minified);
Console.WriteLine(beautified);
public static class JsonHelper
public static string Minify1(string json)
return ReformatJson(json, Formatting.None);
public static string Minify2(string json)
return Newtonsoft.Json.Linq.JObject.Parse(json).ToString(Formatting.None);
public static string Beautify(string json)
return ReformatJson(json, Formatting.Indented);
public static string ReformatJson(string json, Formatting formatting)
using (StringReader stringReader = new StringReader(json))
using (StringWriter stringWriter = new StringWriter())
ReformatJson(stringReader, stringWriter, formatting);
return stringWriter.ToString();
public static void ReformatJson(TextReader textReader, TextWriter textWriter, Formatting formatting)
using (JsonReader jsonReader = new JsonTextReader(textReader))
using (JsonWriter jsonWriter = new JsonTextWriter(textWriter))
jsonWriter.Formatting = formatting;
jsonWriter.WriteToken(jsonReader);