2014-04-04 2 views
0

Я преобразования файла XML в формат JSON, я пытаюсь запросить JSON с помощью linq.js до сих пор это то, что я сделал:Как запросить объекты Json с помощью linq.js?

var queryResult = linq.from(result).where(function(x){ return x.key == "bpmn2:definitions" }).select(function(x) { return x }).toArray(); 

и я получаю JSON:

[ { key: 'bpmn2:definitions', 
    value: 
    { '$': [Object], 
     'bpmn2:message': [Object], 
     'bpmn2:interface': [Object], 
     process: [Object] } } ] 

как я могу получить в том же запросе, просто изменив где положение внедренный объект с именем Process?

EDIT:

Я сделал это до сих пор:

var queryResult = linq.from(result).where(function(x){ return x.key == "bpmn2:definitions" }).select(function(x) { return x.value.process }).toArray(); 

и я получаю

[ [ { '$': [Object], 
     'bpmn2:process': [Object], 
     'bpmndi:BPMNDiagram': [Object] } ] ] 

, как я могу получить доступ к bpmn2: процесс в том же запросе, описанного выше ?

благодарит за помощь

ответ

1

Нравится? Я думаю, это то, о чем вы просите.

var queryResult = linq.from(result).where(function(x){ return x.key == "bpmn2:definitions" }).select(function(x) { return x.value.process }).toArray(); 
+0

благодаря Джо, я только что получил в тот же результат минуту назад, спасибо за ответ, что это правильно, если вы посмотрите, я редактировал вопрос, который я пытаюсь разработать более сложный запрос может, извините за edit –

+1

Я сделал это таким образом, я чувствую себя немного грязным для меня: linq.from (result) .where (function (x) {return x.key == "bpmn2: определения"}) .select (function (x) {return x.value.process [0] ["bpmn2: process"]}) .toArray(); так или иначе это работает! спасибо за помощь –

+1

@Педро как раз в качестве опоры. Я бы не использовал x.key == "bpmn2: определения", потому что для каждого сравнения вы делаете тип. Используйте строгий сопоставитель равенства «===» не «==». «==» полезно использовать только тогда, когда вы сравниваете целое число как 2, а yo не заботится о том, чтобы 2 был также «2». См. Http://stackoverflow.com/questions/359494/does-it-matter-which-equals-operator-vs-i-use-in-javascript-comparisons – Pascal

Смежные вопросы