2016-10-18 3 views
0

Я использую Dojox для получения массива объектов назад, которые соответствуют выражению, я недавно изменил мою службу и теперь возвращает более сложные JSON-свойства, и мой запрос перестает работать. Я думаю, что могу положить wild card [*] оператору в начало строки запроса.Dojox Json Query выражения

Старого 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

'somevalue." Sometingelse ".username.Type: 1' это php? где ты это написал? (потому что на самом деле ваш новый JSON не является JSON) –

+0

@SteevePitis Это действительный (ish) JSON, и он возвращается сервером ArgGis, а не PHP http://www.esri.com/software/arcgis/arcgisserver –

+0

The downvote is not мой;) Является ли это возвращенным JSON? –

ответ

0

По сути, это издеваемое соединение мы заменили его на вид и задали имена полей. Еще одним решением было переименование всех слоев в MXD и переиздание службы ArcGIS.

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

будет работать нормально после этого.