使用stream-json处理嵌套值

8fq7wneg  于 2023-10-21  发布在  其他
关注(0)|答案(1)|浏览(145)

我尝试使用节点库stream-json从以下JSON访问值“RESPONSE”。我很难得到它,因为当我流,它打印的每一个层次的json。我如何访问它?这个JSON来自一个流,这就是我使用那个库的原因。

{
  "outputs": [
    {
      "structVal": {
        "candidates": {
          "listVal": [
            {
              "structVal": {
                "content": {
                  "stringVal": [
            RESPONSE
                  ]
                },
                "author": {
                  "stringVal": [
                    "1"
                  ]
                }
              }
            }
          ]
        },
        "citationMetadata": {
          "listVal": [
            {
              "structVal": {
                "citations": {}
              }
            }
          ]
        },
        "safetyAttributes": {
          "listVal": [
            {
              "structVal": {
                "categories": {},
                "blocked": {
                  "boolVal": [
                    false
                  ]
                },
                "scores": {}
              }
            }
          ]
        }
      }
    }
  ]
}

当我做

stream.on('data', (parsedData) => {
   console.log(parsedData);
});

我会得到这样的结果:

{ name: 'startArray' }
{ name: 'startObject' }
{ name: 'startKey' }
{ name: 'stringChunk', value: 'outputs' }
{ name: 'endKey' }
{ name: 'keyValue', value: 'outputs' }
{ name: 'startArray' }
{ name: 'startObject' }
ijxebb2r

ijxebb2r1#

所以我需要将StreamArray()添加到我的管道中,并删除过滤器(因为它过滤掉了我需要的所有内容),并能够正常访问JSON。

相关问题