反序列化json C#

时间:2017-04-26 07:33:55

标签: c# json api httpwebrequest

我有代码从post api调用返回json数据。数据采用以下格式:

{"data":[{"name":"123","pwd":123},{"name":"456","pwd":456},{"name":"789","pwd":789}]",duration":5309,"query":"myquery","timeout":300}

为了反序列化上面的json,我编写了以下代码:

Product myprod = JsonConvert.DeserializeObject<Product>(result);
var results = myprod.result;

我的数据在count = 0时保持为null。任何人都可以帮助我解决我的错误吗?

2 个答案:

答案 0 :(得分:0)

首先你的json无效。这是相同的,但有修复。

{"data":[{"name":"123","pwd":123},{"name":"456","pwd":456},{"name":"789","pwd":789}],"duration":5309,"query":"myquery","timeout":300}

这个json模型应该是这样的:

public class Rootobject
{
    public Datum[] data { get; set; }
    public int duration { get; set; }
    public string query { get; set; }
    public int timeout { get; set; }
}

public class Datum
{
    public string name { get; set; }
    public int pwd { get; set; }
}

答案 1 :(得分:0)

DeserializeObject无法将数据结构转换为IList<IList<string>>。 您应该自己实施custom JsonConverter