Как я могу украсить JSON для отображения в TextBox? - PullRequest
33 голосов
/ 30 мая 2011

Как я могу украсить JSON с помощью C #?Я хочу напечатать результат в элементе управления TextBox.

Возможно ли для этого использовать JavaScriptSerializer или мне следует использовать JSON.net?Если бы не было необходимости, я бы хотел избежать десериализации строки.

Ответы [ 2 ]

32 голосов
/ 12 апреля 2015

С помощью JSON.Net вы можете украсить вывод определенным форматированием.

Демонстрация в dotnetfiddle.

Код

public class Product
{
    public string Name {get; set;}
    public DateTime Expiry {get; set;}
    public string[] Sizes {get; set;}
}

public void Main()
{
    Product product = new Product();
    product.Name = "Apple";
    product.Expiry = new DateTime(2008, 12, 28);
    product.Sizes = new string[] { "Small" };

    string json = JsonConvert.SerializeObject(product, Formatting.None);
    Console.WriteLine(json);
    json = JsonConvert.SerializeObject(product, Formatting.Indented);
    Console.WriteLine(json);
}

Выход

{"Name":"Apple","Expiry":"2008-12-28T00:00:00","Sizes":["Small"]}
{
  "Name": "Apple",
  "Expiry": "2008-12-28T00:00:00",
  "Sizes": [
    "Small"
  ]
}
18 голосов
/ 08 января 2018

Немного опоздал на эту вечеринку, но вы можете украсить (или минимизировать) Json без десериализации с помощью json.NET:

JToken parsedJson = JToken.Parse(jsonString);
var beautified = parsedJson.ToString(Formatting.Indented);
var minified = parsedJson.ToString(Formatting.None);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...