Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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 无法对JSON对象使用JSON流_Javascript_Node.js_Json_Jsonstream - Fatal编程技术网

Javascript 无法对JSON对象使用JSON流

Javascript 无法对JSON对象使用JSON流,javascript,node.js,json,jsonstream,Javascript,Node.js,Json,Jsonstream,我正在处理大型JSON数据,并使用JSONStream npm模块对其进行解析。我可以解析JSON数组对象中的数据。但是其中一个scnerios获得了一个简单的JSON对象(而不是数组) 在这种情况下,我无法解析多个字段。我只能解析/提取一个字段 在我的Json结构中,我想解析/提取status.replicas和status.updateReplicas request({url:'ssss',verify:'False',headers:{'Authorization':'Bearer zz

我正在处理大型JSON数据,并使用JSONStream npm模块对其进行解析。我可以解析JSON数组对象中的数据。但是其中一个scnerios获得了一个简单的JSON对象(而不是数组)

在这种情况下,我无法解析多个字段。我只能解析/提取一个字段

在我的Json结构中,我想解析/提取
status.replicas
status.updateReplicas

request({url:'ssss',verify:'False',headers:{'Authorization':'Bearer zzzz','Accept':'application/json','User-Agent':'zzz'}})
  .pipe(JSONStream.parse('status'))
  .pipe(es.mapSync(function (data) {
    console.log("Log ", data.replicas, data.updatedReplicas); 
  })) ;

我的代码

request({url:'ssss',verify:'False',headers:{'Authorization':'Bearer zzzz','Accept':'application/json','User-Agent':'zzz'}})
  .pipe(JSONStream.parse('status.replicas'))
  .pipe(es.mapSync(function (data) {
    console.log("Log "+data); 
  })) ;
这就给出了
data=1
如何解析
副本和更新的replicas

request({url:'ssss',verify:'False',headers:{'Authorization':'Bearer zzzz','Accept':'application/json','User-Agent':'zzz'}})
  .pipe(JSONStream.parse('status'))
  .pipe(es.mapSync(function (data) {
    console.log("Log ", data.replicas, data.updatedReplicas); 
  })) ;

如果我使用
JSONStream.parse('*')
然后输出
data=Deployment
它只从我的JSON中获取
kind
元素。

你应该做的是访问
状态
,然后使用
数据.updatedReplicas
数据.replicas

request({url:'ssss',verify:'False',headers:{'Authorization':'Bearer zzzz','Accept':'application/json','User-Agent':'zzz'}})
  .pipe(JSONStream.parse('status'))
  .pipe(es.mapSync(function (data) {
    console.log("Log ", data.replicas, data.updatedReplicas); 
  })) ;

注意:
事件流
已存档

您应该做的是访问
状态
,然后使用
数据。更新的副本
数据。副本

request({url:'ssss',verify:'False',headers:{'Authorization':'Bearer zzzz','Accept':'application/json','User-Agent':'zzz'}})
  .pipe(JSONStream.parse('status'))
  .pipe(es.mapSync(function (data) {
    console.log("Log ", data.replicas, data.updatedReplicas); 
  })) ;

注意:
事件流
已存档

为什么不直接使用或?好的,我忘了在问题中提到这一点。Json非常大,我不能使用Json.parse,因为我只得到一小块数据。json.parse给出了
未定义的
为什么不简单地使用or?好吧,我忘了在问题中提到这一点。Json非常大,我不能使用Json.parse,因为我只得到一小块数据。json.parse正在给出
未定义的
感谢您的快速响应。我确实记得使用了相同的东西(code-
JSONStream.parse('status')
),但它在前面没有工作。现在,它正在按预期工作。我想我需要睡一会儿:)再次感谢。谢谢你的快速回复。我确实记得使用了相同的东西(code-
JSONStream.parse('status')
),但它在前面没有工作。现在,它正在按预期工作。我想我需要睡一会儿:)再次谢谢。