【问题标题】:Cant use JSON Stream for JSON Objects不能将 JSON 流用于 JSON 对象
【发布时间】:2019-09-27 11:56:32
【问题描述】:

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

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

我的 Json 结构,我想解析/提取 status.replicasstatus.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 and updatedReplicas

如果我使用 JSONStream.parse('*') 则输出 data = Deployment 它只采用我的 JSON 格式的 kind 元素。

【问题讨论】:

  • 为什么不直接使用JSON.parse.json()
  • 好的,我忘了在问题中提到这一点。 Json 很大,我不能使用 Json.parse,因为我只得到一小块数据。 json.parse 给undefined

标签: javascript node.js json jsonstream


【解决方案1】:

你应该做的是访问status,然后使用data.updatedReplicas & data.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); 
  })) ;

注意:event-stream 已存档

【讨论】:

  • 感谢您的快速回复。我确实记得使用过相同的东西(代码 - JSONStream.parse('status')),但它之前没有工作。现在它按预期工作。我想我需要睡一会儿 :) 再次感谢。
猜你喜欢
  • 1970-01-01
  • 2014-04-18
  • 1970-01-01
  • 2020-12-22
  • 2016-06-15
  • 1970-01-01
  • 1970-01-01
  • 2013-06-29
  • 2019-03-12
相关资源
最近更新 更多