Dojox Json查询表达式

时间:2016-10-18 15:32:37

标签: javascript json dojo

我正在使用Dojox来获取符合表达式的对象数组,我最近更改了我的服务,现在它返回更复杂的JSON属性,我的查询已停止工作。我想我可以将一个外卡[*]运算符放在查询字符串的开头。

旧JSON

[
    {
      "attributes": [{
          "Type": 1,
          "User": "Dave",
          "Location": "England"
      }]
    },
    {
      "attributes": [{
          "Type": 1,
          "User": "Paul",
          "Location": "England"
      }]
    },
    {
      "attributes": [{
          "Type": 2,
          "User": "James",
          "Location": "England"
      }]
    }
]

旧查询字符串

var jam = dojox.json.query(“[?attributes.Type='0'”, data);

这曾经工作正常,但由于JSON已更改,查询无法正常工作

新JSON

[
    {
      "attributes": [{
              somevalue."sometingelse".username.Type: 1,
              somevalue."sometingelse".username.User: "Dave",
              somevalue."sometingelse".username.Location: "England",
      }]
    },
    {
      "attributes": [{
              somevalue."sometingelse".username.Type: 1,
              somevalue."sometingelse".username.User: "Paul",
              somevalue."sometingelse".username.Location: "England",
      }]
    },
    {
      "attributes": [{
              somevalue."sometingelse".username.Type: 2,
              somevalue."sometingelse".username.User: "Steve",
              somevalue."sometingelse".username.Location: "England",
      }]
    }
]

我尝试过使用类似查询的一些变体但没有成功

var jam = dojox.json.query(“[?attributes.*Type='0'”, data);
var jam = dojox.json.query(“[?attributes][*Type='0']”, data);

很高兴提供进一步的细节,谢谢你。

1 个答案:

答案 0 :(得分:0)

基本上是一个狡猾的连接,我们用视图替换它并设置字段名称。另一个解决方法是重命名MXD中的所有图层并重新发布ArcGIS服务。

var jam = dojox.json.query(“[?attributes.Type='0'”, data);

之后会好起来的。