首页 > 解决方案 > json 将每条记录格式化为一行

问题描述

我有一个看起来像这样的 json:

{
  "d": {
    "results": [
      {
        "__metadata": {
          "id": "12",
          "uri": "xyz",
          "type": "Result"
        },
        "YEAR": "2018",
        "MOW": "0102",
        "UNIT": "1.2761625",
        "VALUE1": "0",
        "VALUE2": "0",
        "SIGNAL": "0"
      },
      {
        "__metadata": {
          "id": "13",
          "uri": "xyz",
          "type": "Result"
        },
        "YEAR": "2018",
        "MOW": "0102",
        "UNIT": "1.2761625",
        "VALUE1": "0",
        "VALUE2": "0",
        "SIGNAL": "0"
      },

等等

我想像这样在一行中输出每条记录(因为 AWS Athena 需要这种格式):

{ "__metadata": {"id": "12", "uri": "xyz", "type": "Result"}, "YEAR": "2018", "MOW": "0102",  "UNIT": "1.2761625", "VALUE1": "0", "VALUE2": "0", "SIGNAL": "0"}
{ "__metadata": {"id": "13", "uri": "xyz", "type": "Result"}, "YEAR": "2018", "MOW": "0102",  "UNIT": "1.2761625", "VALUE1": "0", "VALUE2": "0", "SIGNAL": "0"}

我使用“jq -c .myjson.json”进行格式化。我希望它把每条记录放在一行中,但它把每条记录都放在一起,所以我的 json 有一个很长的单行。

标签: jsonformattingjqamazon-athenajsonlines

解决方案


推荐阅读