Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript oboe.js-选择特定节点而不是所有匹配节点的模式?_Javascript_Json_Node.js - Fatal编程技术网

Javascript oboe.js-选择特定节点而不是所有匹配节点的模式?

Javascript oboe.js-选择特定节点而不是所有匹配节点的模式?,javascript,json,node.js,Javascript,Json,Node.js,我有一个通过http流获取的JSON数组。简化后,对象的结构如下所示: { "ID" : 1234, "Item" : { "ID" : "ABC123", "name" : "a thing" } } 对象在一个数组中,所以实际上我得到: [{"ID":1234,"Item":{"ID":"ABC123","name":"a thing"}},{"ID":5678,"Item"....] 我正在使用解析流,当它到达时使用ID来做一些其他事情,但是我很难在对象中区

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

{
  "ID" : 1234,
  "Item" : {
    "ID" : "ABC123",
    "name" : "a thing"
  }
}
对象在一个数组中,所以实际上我得到:

[{"ID":1234,"Item":{"ID":"ABC123","name":"a thing"}},{"ID":5678,"Item"....]
我正在使用解析流,当它到达时使用
ID
来做一些其他事情,但是我很难在对象中区分
ID
Item.ID
。例如,此代码段将同时匹配
ID

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
的节点,忽略该对象中的任何其他节点”。

如OP问题注释中所述:
!*。ID
应与数组中的节点对象
ID
属性匹配。

通过“离开根”是否表示对象的根属性?还是非根属性?如果您指的是根属性,则不应
!ID
工作?如果没有,那么可能是
!*。ID
是否有效?添加了关于它是一个对象数组而不是一个对象的说明…以及
!*。ID
工作正常。把它加入一个答案,我会批准的。我现在明白问题所在了。谢谢你的轻推。:)