#c_sharp #json
Задача хранить сериализованные данные в JSON. Нашел даже пример: DataContractJsonSerializer Но есть проблема: данные JSON в файле сохраняются в одну строчку: [{"Age":29,"Company":{"Name":"Microsoft"},"Name":"Tom"},{"Age":25,"Company":{"Name":"Apple"},"Name":"Bill"}] Как сериализовывать в JSON, что бы данные имели нормальное форматирование, как и в примере в википедии?
Ответы
Ответ 1
Тут советуют использовать либу JSON.NET Пример с либой: using System; using Newtonsoft.Json; namespace JsonPrettyPrint { internal class Program { private static void Main(string[] args) { Product product = new Product { Name = "Apple", Expiry = new DateTime(2008, 12, 28), Price = 3.99M, Sizes = new[] { "Small", "Medium", "Large" } }; string json = JsonConvert.SerializeObject(product, Formatting.Indented); Console.WriteLine(json); Product deserializedProduct = JsonConvert.DeserializeObject(json); } } internal class Product { public String[] Sizes { get; set; } public decimal Price { get; set; } public DateTime Expiry { get; set; } public string Name { get; set; } } } Результат: { "Sizes": [ "Small", "Medium", "Large" ], "Price": 3.99, "Expiry": "\/Date(1230447600000-0700)\/", "Name": "Apple" } Как я понимаю Formatting.Indented задает отступы. P.S Если верить табличке, то JSON.NET круче реализации от майков.
Комментариев нет:
Отправить комментарий