在 Ubuntu 环境下处理数据时,将 JSON 格式转换为 CSV 是常见需求。使用 Go 编写的 json2csv 工具具备跨平台、高性能、无依赖的优点,适合直接在服务器上使用。下面介绍从安装到使用的完整流程。

安装 Go 环境
如果系统中还没有 Go,可以先安装。以 Ubuntu 22.04 为例,使用官方二进制包安装:
# 下载 Go 二进制包 wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz sudo rm -rf /usr/local/go sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz # 配置环境变量 echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.profile echo 'export GOPATH=$HOME/go' >> ~/.profile source ~/.profile # 验证安装 go version
安装 json2csv 工具
推荐使用 go install 命令直接从源码安装,这样能获取最新版本并且自动放入 GOPATH 的 bin 目录。
# 安装 json2csv go install github.com/jehiah/json2csv@latest # 将 GOPATH/bin 加入 PATH(若未添加) echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.profile source ~/.profile
如果你不想安装 Go 环境,也可以从发布页下载已编译的 Linux 二进制文件,放到 /usr/local/bin 并赋予执行权限。
基本使用方法
json2csv 读取 JSON 数组或逐行 JSON,并输出 CSV。最简单的用法如下:
# 将 input.json 转换为 output.csv json2csv -i input.json -o output.csv
如果 JSON 是嵌套结构,可以通过 -k 参数指定要提取的字段路径:
# 提取 name 和 address.city 字段 json2csv -i users.json -o users.csv -k name,address.city
处理标准输入与管道
该工具也支持从标准输入读取数据,方便与其他命令组合:
# 使用 curl 获取数据并直接转换 curl -s https://ipipp.com/api/data.json | json2csv -k id,title > result.csv
常见问题
- 命令未找到:检查 PATH 是否包含 Go 的 bin 目录。
- 字段缺失:确认
-k指定的键名与 JSON 中的路径一致。 - 中文乱码:CSV 默认 UTF-8,用 Excel 打开可选择对应编码。
小结
在 Ubuntu 上正确安装并使用 Go 编写的 json2csv 工具并不复杂。准备好 Go 环境或用预编译文件,掌握 -i、-o、-k 等参数即可轻松完成 JSON 到 CSV 的转换工作。