我正在构建一个与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"
}
]
}
我想解析String并获取Name的值。
我试图将String转换为JSON对象,然后尝试从中获取名称,但是它返回了一个空值。
答案 0 :(得分:1)
我弄清楚了,我指的是错误的位置。使用JSONmate之类的JSON可视化工具有助于找出要引用的位置。
答案 1 :(得分:0)
您必须遍历结果集并按索引获取name
。 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
}