【问题标题】:Parse Odata Values returned by Microsoft CRM Web API解析 Microsoft CRM Web API 返回的 Odata 值
【发布时间】:2018-12-29 09:35:21
【问题描述】:

我正在构建一个与 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"
  }
  ]
 }

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

我尝试将字符串转换为 JSON 对象,然后尝试从中获取名称,但它返回一个空值。

【问题讨论】:

    标签: java android odata dynamics-crm olingo


    【解决方案1】:

    我明白了,我指的是错误的位置。使用 JSON 可视化工具(例如 JSONmate)有助于确定要引用的位置。

    【讨论】:

    【解决方案2】:

    您必须遍历结果集并按索引获取nameresults.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        
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 2014-11-22
      • 2016-07-26
      • 2013-04-20
      • 1970-01-01
      相关资源
      最近更新 更多