json - 使用 jq 创建 JSON 对象/字典
问题描述
在我的 bash 脚本中,我有一个字典/地图,例如:
k1: v1
k2: v2
k3: v3
我可以像这样使用jq --slurp
或jq --raw-input
实际将其转换为 JSON:
{
"k1": "v1",
"k2": "v2",
"k3": "v3"
}
可能通过管道类似:echo k1 v1 k2 v2 k3 v3 | jq [???]
解决方案
使用key: value
input.txt 中的数据,以及 tojson.jq 中的以下程序:
[inputs | select(length>0)
| [splits(": *")]
| {(.[0]): .[1]} ]
| add
调用:
jq -n -R -f tojson.jq input.txt
产生:
{
"k1": "v1",
"k2": "v2",
"k3": "v3"
}
推荐阅读
- java - gwt-dev - 具有相同包名的库
- mongodb - 如何在 Stitch 注册时将用户数据链接到他未来的帐户
- javascript - 用于登录 React 的中间件,类似于 Multer for Express JS
- python - 在板上搜索坐标更好的矩形
- google-apps-script - 即使在添加更多行后仍保持单元格之间的关系
- regex - 机器人框架中的多行文本提取
- python - 来自 CSV 的 X 轴标签?
- python - 如何创建一个充当 Python 脚本 GUI 的网站
- android - Xamarin Android LinearLayout - 一页上有 2 个 RecyclerViews 的问题
- sql - 历史表上的 SQL 语句