【问题标题】:extract single json data from file containing multiple json data and make it compact [closed]从包含多个json数据的文件中提取单个json数据并使其紧凑[关闭]
【发布时间】:2021-09-25 18:01:02
【问题描述】:

例如,文件如下所示:

{
  "a":1
}
{
  "b":2
}

我想把它变成:

{"a":1}
{"b":2}

如何在 bash 中做到这一点?

【问题讨论】:

  • 这不是有效的 JSON。
  • 是的,但我已经解释了我的意图。
  • 如果您提供有效的示例 JSON 数据,测试答案会容易得多。
  • 请提供实际有效的示例数据(是的,但我已经解释过我的意图不起作用)以及您自己解决问题的尝试。 SO 不是免费的代码编写服务。我们非常乐意提供帮助,但我们希望您首先努力解决问题。完成此操作并遇到困难后,您可以解释您遇到的问题,以minimal reproducible example 的形式包含代码的相关部分,并提出与该代码相关的特定问题,然后我们会尽力帮忙的。
  • 对不起。我忘了加引号

标签: json bash


【解决方案1】:

jq 无关:

$ jq -c . input.json
{"a":1}
{"b":2}

-c 选项代表 compact 输出,每个值在一行中。

【讨论】:

  • 哇,我用过 jq,但不知道它可以处理多个 { } 对。
  • @LewisChan 是的,您的文件中有两个 JSON 对象。 jq 将一次处理一个,直到整个文件被读取(与许多工具期望文件只包含一个 JSON 值不同)
猜你喜欢
  • 2020-12-27
  • 1970-01-01
  • 2020-10-22
  • 2018-06-16
  • 1970-01-01
  • 2020-09-08
  • 1970-01-01
  • 1970-01-01
  • 2020-12-23
相关资源
最近更新 更多