繁体   English   中英

如何从api反序列化json数据列表?

[英]How to Deserialize a list of json data from a api?

这是我用来反序列化数据的代码,但是它说它不能反序列化当前的json对象

var root = JObject.Parse (responseFromServer);
            var serializer = new JsonSerializer ();
            var expectedObject = serializer.Deserialize<ProfileModel> (root ["data"].CreateReader ());

个人档案模型具有:

public List<int> profiles { get; set; }

这是json数据表单api

{

"data": {
    "id": 4,
    "email": "test@test.com",
    "profiles": {
        "data": [
            {
                "id": 31,
                "name": "Apple"
            },
            {
                "id": 32,
                "name": "Pear"
            }
        ]
    }
}

}

您可能会遇到类似这样的情况(看起来那里只有一个配置文件,而不是集合):

public class Datum
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public class Profile
{
    public List<Datum> Data { get; set; }
}

public class Data
{
    public int Id { get; set; }
    public string Email { get; set; }
    public Profile Profile { get; set; }
}

public class DataResponse
{
    public Data Data { get; set; }
}

使用Json.NET,反序列化将是:

   var o = JsonConvert.DeserializeObject<DataResponse>(responseFromServer);

“配置文件”包含一个名为“数据”的对象,该对象包含一个配置文件数组。 另外,您将需要一个Profile对象,其中包含一个“ id”和一个“ name”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM