我有一个salesforce rest服务,它以IEnumerable格式返回结果。以下是样本结果。
[{
"attributes": {
"type": "Account",
"url": "/services/data/v28.0/sobjects/Account/001i0000WK5xYAAT"
},
"RecordType": {
"attributes": {
"type": "RecordType",
"url": "/services/data/v28.0/sobjects/RecordType/012i00000x7FwAAI"
},
"Name": "Health Care Practitioners"
},
"Name": "JOSEPH SANDERS",
"Status_ims__c": "Verified",
},
{
"attributes": {
"type": "Account",
"url": "/services/data/v28.0/sobjects/Account/001i000000WK5xYAAT"
},
"RecordType": {
"attributes": {
"type": "RecordType",
"url": "/services/data/v28.0/sobjects/RecordType/012i0000000x7FwAAI"
},
"Name": "Health Care Practitioners"
},
"Name": "DONALD GRABER",
"Status_ims__c": "Verified",
}]
public class Account
{
public string Name { get{ return GetOption ("Name");} }
public string Status_ims__c { get{ return GetOption ("Status_ims__c");}}
public Attributes attributes {get;}
public RecordType recordType {get;}
}
public class Attributes
{
public string type { get; set; }
public string url { get; set; }
}
public class Attributes2
{
public string type { get; set; }
public string url { get; set; }
}
public class RecordType
{
public Attributes2 attributes { get; set; }
public string Name { get; set; }
}
以上是我对帐户对象的结构。如何将结果转换为List并映射到Account对象上的每个属性。
答案 0 :(得分:0)
例如,使用json.net - >
var account = JsonConvert.DeserializeObject<List<Account>>(stringData);
如果对象和数据之间存在一些差异,您可以使用JsonProperty注释
因此,您可以在类模型中使用更多可读属性,例如
[JsonProperty("Status_ims__c ")]
public string Status
答案 1 :(得分:0)
如果您使用Newtonsoft.Json,则可以使用Newtonsoft.Json.JsonConvert.DeserializeObject
方法。
还要确保您的媒体资源在Account
班级中设置了。
答案 2 :(得分:0)
你可以简单地使用它:
var accounts = JsonConvert.DeserializeObject<List<Account>>("your json string...");