Я пытаюсь сериализовать коллекцию объектов с именем TableDTO. Этот объект содержит имя, дату и список>. Я пытаюсь сериализовать его, используя библиотеку Newtonsoft.Json в C#Как правильно сериализовать мой объект, содержащий список <keyvaluepair <string, string >> в Json?
Все работает хорошо, когда я создаю объект. Я добавляю KeyValuePair так:
mylist.Add(new KeyValuePair<string, string>($"Col{compteur}", value.Value));
Затем я добавить список в мой TableDTO
TableDTO.List = MyList
Тогда я сериализации мой объект как этот
JsonConvert.SerializeObject (TableDto);
И вот что я получил
{ "FileName" : "MEP_3_10$3aList.xlsx", "Conditions" :{"Predicate" : "<select a condition>"}, "DataRows" : [{"Key" : "Col1","Value" : "value"}, {"Key" : "Col2","Value" : "value"}] }
Проблема я столкнулся, когда я сериализовать его Вместо
{
{"Col1":"value"},
{"Col2":"value"}
}
Список сериализован как этот
{
{"Key" : "Col1","Value" : "value"},
{"Key" : "Col2","Value" : "value"}
}
Я попытался использовать конвертер, как описано в другом сообщении в stackoverflow, но si nce список является свойством моего объекта, это не так просто.
Большое спасибо за вашу помощь
Можете ли вы поделиться больше вашего кода? Недавно я сделал то же самое, что вы пытаетесь сделать здесь, поэтому, пожалуйста, дайте мне больше информации, чтобы я мог вам помочь. –
Ваш желаемый JSON недействителен. Загрузите на http://jsonlint.com/, и вы получите сообщение об ошибке 'Error: Parse error в строке 1: {\t {\t \t" Col1 ":" value "'. В стандарте [json standard] (http://www.json.org/) контейнер, окруженный фигурными скобками, '{...}' является неупорядоченным набором пар имя/значение, но ваш внешний контейнер не имеет имен свойств. – dbc