Способ разобрать некоторые "фанки" данных JSON с .Net и C # - PullRequest
1 голос
/ 09 сентября 2011

Веб-сервисы, к которым я подключаюсь, чтобы отправить в ответ на наши запросы некоторые данные JSON, организованные странным образом (без сомнения, они сделали это неправильно, но мы не можем их изменить).

Я совершенно новичок вC # и удалось десериализовать некоторые более стандартные объекты JSON с использованием DataContract и DataContractJsonSerializer.

Однако я довольно озадачен тем извращенным JSON, который мы получаем.В нашем java-клиенте (Android) мы просто решили использовать простой JSON-анализатор, который пропускает вставленные дополнительные массивы.Мне бы хотелось узнать мнение опытных разработчиков о том, как десериализовать этот искаженный JSON.

Вот что отправит веб-служба для получения некоторых сведений о пользователе и объекту C #, которому она должна соответствовать:

C #

class Buddy 
{
  public String Login { get; set; }
  public String Password { get; set; }
  public List<Purchase> { get; set; }
}

class Purchase
{
  public Int64 ItemId { get; set; }
  public Int32 Quantity { get; set; }
}

JSON

[
  {
    "buddy": 
      [
        {
          "login": "johndoe",
          "password": "pwd",
          "purchase_list": 
            [
              {
                "purchase": 
                  [
                    {
                      "item_id": 1654,
                      "qty": 1
                    }
                  ]
              },
              {
                "purchase": 
                  [
                    {
                      "item_id": 654,
                      "qty": 2
                    }
                  ]
              }
            ]
        }
      ]
  }
]

1 Ответ

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

Библиотека, представленная здесь, довольно эффективна для обработки json: http://james.newtonking.com/pages/json-net.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...