Как десериализовать вложенный словарь? - PullRequest
0 голосов
/ 08 сентября 2011

Я пишу приложение для Windows Phone, которое будет получать набор данных с сервера и отображать каждую запись в поле списка.

Данные поступают с сервера в виде, подобном этому

{
  "data": [
    {
      "value1": 777103069782066, 
      "value2": "SomeString", 
      "value3": "TextToDisplay1"
    }, 
    {
      "value1": 750050696652932, 
      "value2": "SomeString2", 
      "value3": "TextToDisplay2"
    }, 
    {
      "value1": 516092242936133, 
      "value2": "SomeString3", 
      "value3": "TextToDisplay3"
    } 
  ]
}

Затем я десериализирую данные следующим образом

Dictionary<string, object> values = JsonConvert.DeserializeObject<Dictionary<string, object>>(json);

Проблема в том, что все мои значения объединяются в одну словарную запись

Может кто-нибудь сказать мне, что я делаю неправильно?

Спасибо,
Крис

Ответы [ 2 ]

0 голосов
/ 08 сентября 2011

Похоже, что вы случайно создаете словарь, содержащий один объект, по ключу "data", содержащему один объект, который является списком словарей?

0 голосов
/ 08 сентября 2011

Dictionary<string,object> должен иметь уникальный ключ для каждого значения, в вашем примере все элементы имеют одинаковые ключи (значение1, значение2, значение3). Вот почему все ваши значения объединяются в одну словарную статью.

...