Nir*_*man 3 c# api json dynamics-crm asp.net-web-api
我正在从连接到 CRM 的 C# 应用程序调用 REST 服务。这将返回 HttpResponseMessage。
response.Content.ReadAsStringAsync().Result
Run Code Online (Sandbox Code Playgroud)
上述语句返回以下输出。我需要将其转换为 Account 对象,该对象已经具有“accountnumber 和 accountid 属性。
{
"@odata.context":" https://APIURL/api/data/v8.1/ $metadata#account(accountnumber)","value":[ { "@odata.etag":"W/\" 12496866\"","accountnumber":"D00208","accountid":"30417c0f-7b8c-e611-80f3-5065f38bd4d1" } ] }
我试过以下代码
Account return = JsonConvert.DeserializeObject<Account>(response.Content.ReadAsStringAsync().Result);
Run Code Online (Sandbox Code Playgroud)
但这不会填充对象,并且它在 accountnumber 和 accountid 字段中始终具有空值。
关于如何将此响应正确转换为 C# 类型的任何想法。
你应该这样做 -
public class Value
{
[JsonProperty("@odata.etag")]
public string etag { get; set; }
public string accountnumber { get; set; }
public string accountid { get; set; }
}
public class RootObject
{
[JsonProperty("@odata.context")]
public string context { get; set; }
public List<Value> value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后反序列化-
var value = JsonConvert.DeserializeObject<RootObject>(json);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4092 次 |
| 最近记录: |