Задача хранить сериализованные данные в JSON. Нашел даже пример: DataContractJsonSerializer
Но есть проблема: данные JSON в файле сохраняются в одну строчку:
[{"Age":29,"Company":{"Name":"Microsoft"},"Name":"Tom"},{"Age":25,"Company":{"Name":"Apple"},"Name":"Bill"}]
Как сериализовывать в JSON, что бы данные имели нормальное форматирование, как и в примере в википедии?
Тут советуют использовать либу 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<Product>(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 круче реализации от майков.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости