Невозможно сериализовать словарь со сложным ключом с помощью Json.netC#

Место общения программистов C#
Ответить
Anonymous
 Невозможно сериализовать словарь со сложным ключом с помощью Json.net

Сообщение Anonymous »

У меня есть словарь с пользовательским типом .net в качестве ключа. Я пытаюсь сериализовать этот словарь в JSON с помощью JSON.net, однако он не может преобразовать ключи в правильное значение во время сериализации.

Код: Выделить всё

class ListBaseClass
{
public String testA;
public String testB;
}
-----
var details = new Dictionary();
details.Add(new ListBaseClass { testA = "Hello", testB = "World" }, "Normal");
var results = Newtonsoft.Json.JsonConvert.SerializeObject(details);
var data = Newtonsoft.Json.JsonConvert.DeserializeObject results);
Это дайте мне --> "{\"JSonSerialization.ListBaseClass\":\"Normal\"}"

Однако, если в словаре в качестве значения указан мой собственный тип, это работает хорошо

Код: Выделить всё

  var details = new Dictionary();
details.Add("Normal", new ListBaseClass { testA = "Hello", testB = "World" });
var results = Newtonsoft.Json.JsonConvert.SerializeObject(details);
var data = Newtonsoft.Json.JsonConvert.DeserializeObject(results);
Это дайте мне --> "{\"Нормальный\":{\"testA\":\"Привет\",\"testB\":\" Мир\"}}"

Может ли кто-нибудь подсказать, нахожу ли я какие-то ограничения Json.net или делаю что-то не так?

Подробнее здесь: https://stackoverflow.com/questions/245 ... g-json-net
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»