oboe.js - 选择特定节点而非全部匹配的模式?

时间:2015-06-26 20:09:54

标签: javascript json node.js

我有一个JSON数组,我通过http流获取。简化后,对象的结构如下:

{
  "ID" : 1234,
  "Item" : {
    "ID" : "ABC123",
    "name" : "a thing"
  }
}

对象是一个数组,所以实际上我得到了:

[{"ID":1234,"Item":{"ID":"ABC123","name":"a thing"}},{"ID":5678,"Item"....]

我使用oboe.js在流到达时解析流并使用ID执行其他操作,但我很难区分ID对象中的Item.ID。例如,此代码段将匹配ID&#39>:

oboe(res).on("node", { "ID": function (id) {
        console.log("found thing with ID of " + id);
}});

输出确认它抓住了ID两个值而不是第一个,这就是我需要的:

found thing with ID of 1234 
found thing with ID of a thing

我尝试使用以下模式,但没有成功:

  • ID - 匹配
  • !.ID - 不匹配
  • *.ID - 匹配
  • .ID - 匹配
  • ID. - 匹配

tldnr:我正在努力找到一个正确的模式,说明"匹配一个名为ID的节点离开流中对象的根,忽略该对象中的任何其他节点& #34;

1 个答案:

答案 0 :(得分:2)

正如OP的问题的评论中所提到的:!*.ID应匹配数组中的节点对象ID属性。