📜  jq 到 csv - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:16:41.094000             🧑  作者: Mango

将 jq 转换为 CSV - Shell-Bash

jq -r 'to_csv' file.json > file.csv

本示例介绍如何使用 Shell-Bash 中的 jq 工具将 JSON 数据转换为 CSV 格式。jq 是一个用于处理和转换 JSON 数据的功能强大的命令行工具。通过使用调用 to_csv 函数来实现将 JSON 转换为 CSV 的操作。

用法示例

以下是一个使用 jq 将 JSON 数据转换为 CSV 的示例:

$ cat file.json
{
  "name": "John",
  "age": 30,
  "country": "USA"
}

$ jq -r 'to_csv' file.json > file.csv

$ cat file.csv
"name","age","country"
"John",30,"USA"

在上面的示例中,我们将名为 file.json 的 JSON 文件转换为 file.csv 的 CSV 文件。 to_csv 函数负责将 JSON 中的字段转换为 CSV 的列,并使用双引号括起来。

键名定义

在默认情况下,jq 使用 JSON 的键名作为 CSV 的列名。如果你希望自定义列名,可以使用 jq 的适当过滤器将其转换为 CSV。

以下是一个使用自定义列名的示例:

$ cat file.json
{
  "name": "John",
  "age": 30,
  "country": "USA"
}

$ jq -r '["Full Name", "Age", "Location"], (.name, .age, .country) | @csv' file.json > file.csv

$ cat file.csv
"Full Name","Age","Location"
"John",30,"USA"

在上面的示例中,我们在 jq 过滤器中定义了自定义的列名,并将其与相应的字段进行了匹配。

结论

使用 Shell-Bash 的 jq 工具可以轻松将 JSON 数据转换为 CSV 格式。通过简单的调用 to_csv 函数,可以将 JSON 数据的字段转换为 CSV 的列。你还可以根据需要定义自定义列名。jq 是一个强大的工具,可帮助开发者处理和转换 JSON 数据。