如何处理json对象中的json对象c#

时间:2018-05-15 14:31:45

标签: c# asp.net json

我发送URL请求并在curl中获取响应,然后转换为对象内的json ...对象(包含numeric和dot(924.136028459)),如:

1000 Tz

我创建了属性类..但我不明白我们如何访问“924.136028500”属性

string arr1 = 
    "{  
       "success":1,
       "results":[  
          {  
             "Markets":{  
                "924.136028459":{  
                   "productType":"BOOK1",
                   "key":"SB_MARKET:924.136028459"
                },
                "924.136028500":{  
                   "productType":"BOOK2",
                   "key":"SB_MARKET:924.136028459"
                }
             }
          }
       ]
    }";

我正在使用反序列化代码...

public class Json
{
    public System.Collections.ObjectModel.Collection<Arr> results { get; set; }
}

public class Arr
{
    public sp Markets { get; set; }
}

public class sp
{
    public string productType { get; set; }
    public string key { get; set; }
}

1 个答案:

答案 0 :(得分:0)

使用Cinchoo ETL - 一个开源库,您可以使用几行代码轻松加载Market对象

string json = @"{  
       ""success"":1,
       ""results"":[
          {  
             ""Markets"":{  
                ""924.136028459"":{  
                   ""productType"":""BOOK1"",
                   ""key"":""SB_MARKET:924.136028459""

                },
                ""924.136028500"":{  
                   ""productType"":""BOOK2"",
                   ""key"":""SB_MARKET:924.136028459""
                }
             }
          }
       ]
    }
";

foreach (var rec in ChoJSONReader<sp>.LoadText(json).WithJSONPath("$..Markets.*"))
    Console.WriteLine($"ProductType: {rec.productType}, Key: {rec.key}");

输出:

ProductType: BOOK1, Key: SB_MARKET:924.136028459
ProductType: BOOK2, Key: SB_MARKET:924.136028459

Checkout CodeProject文章提供了一些额外的帮助。

免责声明:我是这个图书馆的作者。