我有一个通过http流获得的JSON数组。简化后,对象的结构如下:
{
"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的:
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:我很难找到正确的模式,即“匹配流中对象根目录下名为的节点,忽略该对象中的任何其他节点”。
发布于 2015-06-26 21:47:16
正如OP问题的注释中所提到的:!*.ID应该匹配数组中的节点对象ID属性。
https://stackoverflow.com/questions/31081340
复制相似问题