分析Microsoft CRM Web API返回的Odata值



我正在构建一个与Microsoft Dynamics CRM通信的android应用程序。目前,我正在使用生成的访问令牌访问Web API。

通过调用Web API,我可以将Odata JSON转换为响应字符串。

{
"@odata.context": "[OrganizationURI]/api/data/v8.2/$metadata#accounts(name)",
"value": [
{
"@odata.etag": "W/"501097"",
"name": "Fourth Coffee (sample)",
"accountid": "89390c24-9c72-e511-80d4-00155d2a68d1"
},
{
"@odata.etag": "W/"501098"",
"name": "Litware, Inc. (sample)",
"accountid": "8b390c24-9c72-e511-80d4-00155d2a68d1"
},
{
"@odata.etag": "W/"501099"",
"name": "Adventure Works (sample)",
"accountid": "8d390c24-9c72-e511-80d4-00155d2a68d1"
}
]
}

我想解析字符串并获取Name的值。

我曾尝试将String转换为JSON对象,然后尝试从中获取名称,但它返回了一个null值。

我发现了,我指的是错误的位置。使用JSONmate这样的JSON可视化工具有助于确定引用哪个位置

您必须遍历结果集&通过索引得到CCD_ 1。results.value[0]["name"]将给出结果中的第一条记录。

var results = JSON.parse(this.response);
for (var i = 0; i < results.value.length; i++) {
       var name = results.value[i]["name"];
       //do something with name        
}

最新更新