json десериализация строки в c# объект - PullRequest
0 голосов
/ 17 апреля 2020

Я получил следующий результат от вызова API - что было бы лучшей c# структурой объекта, чтобы можно было десериализовать строку json в объекты c#. У меня проблема в том, что json объект на самом деле является названием бренда, а не

 "data":{"brands":{"brand":{"name:"Amazon"...etc 

, который возвращает API:

"data":{"brands":{"amazon":{"name:"Amazon",....

Что затрудняет создание бренды -> бренд heirarchy

см. ниже для всей строки json:

   {
       "status":"success",
       "code":"1254",
       "message":"Hello",
       "data":{
          "brands":{
             "amazon":{
                "slug":"amazon",
                "name":"Amazon UK"
             },
             "boots":{
                "slug":"boots",
                "name":"boots UK"
             }
          }
       }
    }

1 Ответ

5 голосов
/ 17 апреля 2020

Следующая структура должна быть в порядке, я думаю,

public class RootObject
{
    public string status { get; set; }
    public string code { get; set; }
    public string message { get; set; }
    public Data data { get; set; }
}

public class Data
{
    public Dictionary<string, Brand> brands { get; set; }
}
public class Brand
{
    public string slug { get; set; }
    public string name { get; set; }
}

И использовать II, как

var result = JsonConvert.DeserializeObject<RootObject>(yourJsonString);
...