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

时间:2015-03-23 22:13:16

标签: android json xamarin

这是我用于反序列化数据的代码,但它说它不能反序列化当前的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"
            }
        ]
    }
}

}

2 个答案:

答案 0 :(得分:1)

你可能会有这样的东西(看起来那里只有一个配置文件,而不是集合):

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);

答案 1 :(得分:0)

&#34;简档&#34;包含一个名为&#34; data&#34;其中包含一个Profiles数组。此外,您还需要一个包含&#34; id&#34;和一个&#34;名称&#34;。