Страницы

Поиск по вопросам

среда, 22 мая 2019 г.

json.net Как сериализовать такой объект?

json.net обычно сериализует словарь в коллекцию:
{"a":{"b":{"c":"d"}}}
Вот так:
class A { public Dictionary a{get; set;} }
class C { public string c{get; set;} }
class Program { public static void Main(string[] args) { A a = new A(); a.a = new Dictionary(); C c = new C(); c.c = "d"; a.a.Add("b", c);
string json = JsonConvert.SerializeObject(a); Console.WriteLine(json);
Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } }
Но я хочу сериализовать словарь в массив:
{"a":["b":{"c":"d"}]}
Есть ли простой способ сделать это?


Ответ

Ответ на ваш вопрос "Есть ли простой способ сделать это?" - нет. Нет никаких легальных способов сделать это. Все потому что требуемый вами формат невалиден
Вы можете только это сделать вручную, но вопрос уже будет в другом - надо ли вам это? Ведь никакой JSON парсер не сможет распарсить невалидную JSON-строку...
P.S проверить валидность JSON-строки можно на https://jsonlint.com/

Комментариев нет:

Отправить комментарий