【问题标题】:Split JSON array into an object per line将 JSON 数组拆分为每行一个对象
【发布时间】:2019-10-28 06:14:17
【问题描述】:

基本上,我需要解析一个非常大的 JSON 文件,在搜索时,我遇到了this answer

唯一的问题是我不知道如何将我的 JSON 数组格式化为每行一个对象。有没有一种简单的 Javascript/Ubuntu 方法可以做到这一点? (我过去使用过jq,例如,它非常适合用于缩小 json 文件)

我的 JSON 文件看起来像这样

[
  {
    "country":"monrovia",
    "street" :"grove street",
    "where" : "home"
  },
  {
   "country": "uk", 
   "street": "diagon alley", 
   "where": "mystery"
  },
  {
   ...
  }
]

但我需要它看起来像这样

[{"country":"monrovia", "street": "grove street", "where": "home"  },
  {"country": "uk", "street": "diagon alley", "where": "mystery happens"},
  {...}]

【问题讨论】:

    标签: javascript json ubuntu


    【解决方案1】:

    你可以做的是像这样使用 JSON.stringify 方法解析 json 数组

    // This can be the array of json
    var obj = {
        "name": "John Doe",
        "age": 29,
        "location": "Denver Colorado",
    };
    // stringify the json
    var result = JSON.stringify(obj);
    // see the output
    console.log(result);
    

    【讨论】:

    • 那行不通。它将每个对象放在一行中(缩小它)。相反,我需要将它们分成每个对象的不同行。
    • 你可以尝试使用这个库:github.com/dominictarr/JSONStream
    【解决方案2】:

    jq 再次来救援! Here 是我需要的。

    它显然被称为 JSONL。

    更好的选择是“换行分隔 JSON”(ndjson)。相同的 Javascript 实现(带有流!)是 here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-02
      • 2017-07-31
      • 1970-01-01
      • 2014-10-03
      • 2016-09-05
      • 2019-07-29
      相关资源
      最近更新 更多