【问题标题】:How do I query JSON entities with spaces in attribute names?如何查询属性名称中带有空格的 JSON 实体?
【发布时间】:2014-08-14 17:59:35
【问题描述】:

是否可以选择和查询带有空格的 JSON 属性名称?

例如:

GET http://xyzz.com/appservices/xyzz/mycollection?ql=select data.sequences.Lifetime%20Referring%20Sources where data._id = 1234

在这种情况下用 %20 转义是行不通的。哦,我应该提一下,如果不进行大量转换,我几乎无法控制属性名称。

以下是数据存储方式的 sn-p:

"data":{
   "_id":1234
   "sequences":{
      "Lifetime Referring Sources":1
   }
}

【问题讨论】:

  • 您是否尝试使用 SQL 语法“查询”JSON?
  • 绝对不建议使用空格,如果它不适用于 %20 你可能不走运。
  • 另一件要尝试的事情是空格的 Unicode 字符代码?
  • 如果有人能指出 usergrid 的部分正在消化这个字符串,我能更好地理解这个问题吗?

标签: apigee usergrid


【解决方案1】:

我尝试了所有我能想到的组合(First\x%20Name、“First Name”、“First Name”、First%20Name 和 First\Name。它们都不起作用,所以我认为你不走运。

JSON 规范没有明确禁止属性名称中的空格,但正是由于这种原因,它不被认为是一种好的做法——当标签中有空格时,将标签转换为变量会变得很棘手

【讨论】:

  • select data.sequences.["Lifetime Referring Sources"] 也不起作用。任何现代 JSON 解析器能够处理这个问题的可能性有多大?
猜你喜欢
  • 1970-01-01
  • 2015-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-30
  • 1970-01-01
  • 2019-12-27
  • 1970-01-01
相关资源
最近更新 更多