JSON 字符串反序列化为 C# 对象

Pau*_*aul 0 c# json json-deserialization

我从 API 调用中得到以下结果 - 能够将 JSON 字符串反序列化为 C# 对象的最佳 C# 对象结构是什么?

我的问题是 JSON 对象实际上是品牌名称而不是

 "data":{"brands":{"brand":{"name:"Amazon"...etc 
Run Code Online (Sandbox Code Playgroud)

api 正在返回:

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

Run Code Online (Sandbox Code Playgroud)

这使得创建品牌变得困难-->品牌层次

请参阅下面的完整 JSON 字符串:

{
       "status":"success",
       "code":"1254",
       "message":"Hello",
       "data":{
          "brands":{
             "amazon":{
                "slug":"amazon",
                "name":"Amazon UK"
             },
             "boots":{
                "slug":"boots",
                "name":"boots UK"
             }
          }
       }
}
Run Code Online (Sandbox Code Playgroud)

Pav*_*ski 5

下面的结构应该没问题,我猜

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; }
}
Run Code Online (Sandbox Code Playgroud)

并使用 ii 喜欢

var result = JsonConvert.DeserializeObject<RootObject>(yourJsonString);
Run Code Online (Sandbox Code Playgroud)