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: процесс в том же запросе, описанного выше ?
благодарит за помощь
благодаря Джо, я только что получил в тот же результат минуту назад, спасибо за ответ, что это правильно, если вы посмотрите, я редактировал вопрос, который я пытаюсь разработать более сложный запрос может, извините за edit –
Я сделал это таким образом, я чувствую себя немного грязным для меня: linq.from (result) .where (function (x) {return x.key == "bpmn2: определения"}) .select (function (x) {return x.value.process [0] ["bpmn2: process"]}) .toArray(); так или иначе это работает! спасибо за помощь –
@Педро как раз в качестве опоры. Я бы не использовал 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