我正在使用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);
很高兴提供进一步的细节,谢谢你。
答案 0 :(得分:0)
基本上是一个狡猾的连接,我们用视图替换它并设置字段名称。另一个解决方法是重命名MXD中的所有图层并重新发布ArcGIS服务。
var jam = dojox.json.query(“[?attributes.Type='0'”, data);
之后会好起来的。