2017-10-11 29 views
0

大家好我是从服务器获取一些json数据,我想淡化复杂的json并添加自定义对象,我不知道如何访问该属性值。反串行化复合json和在xamarin访问属性

这里是JSON数据格式

[ 
{ 
"Id": 1, 
"AlbumId": 2, 
"Name": "sample string 3", 
"Url": "sample string 4", 
"ShareUrl": "sample string 5", 
"Selected": true, 
"Comment": "sample string 6", 
"Album": { 
    "Id": 1, 
    "Name": "sample string 2", 
    "PhotoGrapherId": 3, 
    "ClientId": 4, 
    "EventType": "sample string 5", 
    "EventDate": "2017-10-11T12:06:33.735998+05:30", 
    "Status": "sample string 7", 
    "Url": "sample string 8", 
    "CreatedOn": "2017-10-11T12:06:33.735998+05:30", 
    "CreatedBy": "sample string 10", 
    "Client": { 
    "Id": 1, 
    "Name": "sample string 2", 
    "ContactPersonName": "sample string 3", 
    "ContactPersonMobile": "sample string 4", 
    "ContactPersonEmail": "sample string 5", 
    "CreatedOn": "2017-10-11T12:06:33.735998+05:30", 
    "CreatedBy": "sample string 7", 
    "Albums": [] 
    }, 
    "PhotoGrapher": { 
    "Id": 1, 
    "Name": "sample string 2", 
    "ContactPersonName": "sample string 3", 
    "ContactPersonMobile": "sample string 4", 
    "ContactPersonEmail": "sample string 5", 
    "CreatedOn": "2017-10-11T12:06:33.735998+05:30", 
    "CreatedBy": "sample string 7", 
    "Albums": [] 
    }, 
    "Photos": [] 
} 
    }, 
    { 
"Id": 1, 
"AlbumId": 2, 
"Name": "sample string 3", 
"Url": "sample string 4", 
"ShareUrl": "sample string 5", 
"Selected": true, 
"Comment": "sample string 6", 
"Album": { 
    "Id": 1, 
    "Name": "sample string 2", 
    "PhotoGrapherId": 3, 
    "ClientId": 4, 
    "EventType": "sample string 5", 
    "EventDate": "2017-10-11T12:06:33.735998+05:30", 
    "Status": "sample string 7", 
    "Url": "sample string 8", 
    "CreatedOn": "2017-10-11T12:06:33.735998+05:30", 
    "CreatedBy": "sample string 10", 
    "Client": { 
    "Id": 1, 
    "Name": "sample string 2", 
    "ContactPersonName": "sample string 3", 
    "ContactPersonMobile": "sample string 4", 
    "ContactPersonEmail": "sample string 5", 
    "CreatedOn": "2017-10-11T12:06:33.735998+05:30", 
    "CreatedBy": "sample string 7", 
    "Albums": [] 
    }, 
    "PhotoGrapher": { 
    "Id": 1, 
    "Name": "sample string 2", 
    "ContactPersonName": "sample string 3", 
    "ContactPersonMobile": "sample string 4", 
    "ContactPersonEmail": "sample string 5", 
    "CreatedOn": "2017-10-11T12:06:33.735998+05:30", 
    "CreatedBy": "sample string 7", 
    "Albums": [] 
    }, 
    "Photos": [] 
} 
} 
] 

我想反序列化,我对自定义对象,JSON数据和动态访问每个属性。

我试过如下

      PhotoJson myListObj = JsonConvert.DeserializeObject<PhotoJson>(responseText, settings); 

和PhotoJson.cs

class PhotoJson 
{ 
    public string Id { get; set; } 

    public string AlbumId { get; set; } 

    public string Name { get; set; } 

    public string Url { get; set; } 

    public string ShareUrl { get; set; } 

    public string Selected { get; set; } 

    public string Comment { get; set; } 

} 

请任何能帮我把它整理一下我的疑难问题。我不是在网上获得矿石的帮助也。

回答

0

其实JSON的通常是你的类对象

使用下面会做的伎俩的列表

List<PhotoJson> myListObj = JsonConvert.DeserializeObject<PhotoJson>(responseText, settings); 

var myListObj = JsonConvert.DeserializeObject<PhotoJson>(responseText, settings); 

,然后简单地使用LINQ to获取特定数据可以做到这一点。

而且我很确定你创建的模型类是不正确的,你应该根据Json返回的内容更新它,否则事情将无法正常工作