Как красиво печатать с System.Json?

Используя новый System.Json от 4.5 или эквивалентный System.Json для 4.0 от Nuget, как вы форматируете вывод, чтобы он был с отступом и разнесен в более читаемой форме?

Так это

dynamic jsonObj = new JsonObject();
jsonObj.firstName = "John";
jsonObj.lastName = "Smith";
Debug.WriteLine((string)jsonObj.ToString());

Выводит это

{"firstName":"John","lastName":"Smith"}

Когда я хочу это

{
  "firstName": "John",
  "lastName": "Smith"
}

2 ответа

Решение

Для дальнейшего использования библиотека System.Json в.NET 4.5 (и только 4.5, а не Silverlight) имеет перечислитель JsonSaveOptions, так что вы можете вызвать ToString(JsonSaveOptions.EnableIndent) для довольно печатного Json.

В отличие от XML, во встроенной библиотеке для этого нет опций.

Марк Роджерс написал преттификатор, доступный здесь:

http://www.markdavidrogers.com/json-pretty-printerbeautifier-library-for-net/

Другие вопросы по тегам