用Json.NET反序列化JSON数组



如何用JSON将这个JSON序列化为c#集合?净?

{
    "3396": [{
        "id": 767570,
        "t": {
            "0-43": [{
                "id": 71968108,
                "n": "No",
                "v": 1.55,
                "bt": 1
            }, {

用c#创建模型:

public class YourModelJSON
{
    [JsonProperty("yourmodel")]
    public YourModel YourModel { get; set; }
}
public class YourModel
{
    [JsonProperty("id")]
    public string myId{ get; set; }
    [JsonProperty("t")]
    public string myT { get; set; }
    ...
}

然后用:

反序列化json
JsonConvert.DeserializeObject<List<YourModelJson>>(json);

我想你很难把这个 json放到类中,所以我在这里使用动态解决方案:

dynamic result = JsonConvert.DeserializeObject(json); // json -> escaped string
var array3396 = result["3396"];
var arrayT = array3396[0]["t"];
var array043 = arrayT["0-43"][0];
var id = array043["id"]; // output: 71968108

设置如下:

                dynamic data = h.GetDynamicJSON(urlDet);
                if (data != null)
                {
                    foreach (var d in data)
                    {
                        var json = JsonConvert.SerializeObject(d.Value);
                        var obj = JsonConvert.DeserializeObject<List<Details>>(json);
                    }
                }

获取源为动态对象,然后序列化'动态命名'值,并将其反序列化为强类型对象

相关内容

  • 没有找到相关文章

最新更新