如何使用jq生成包含多个嵌套对象的JSON文件并保存
用jq生成包含多对象的JSON文件
你可以直接在jq的表达式中构造包含Test1和Test2两个顶级对象的结构,通过--arg参数分别传入对应的值。执行以下命令即可生成目标JSON并写入config.json:
echo "$(jq -n '{Test1: {one: $one1, two: $two1}, Test2: {one: $one2, two: $two2}}' \ --arg one1 'Apple' \ --arg two1 'Banana' \ --arg one2 'Kiwi' \ --arg two2 'Tomato')" >> config.json
说明:
-n参数让jq从空输入开始构建JSON- 直接在jq的大括号中定义两个顶级键
Test1和Test2,每个键对应一个嵌套对象,分别引用通过--arg传入的变量 - 每个
--arg参数对应一个键值对,变量名区分开(比如one1对应Test1的one,one2对应Test2的one),避免冲突
执行后,config.json的内容会和你需要的结构完全一致:
{ "Test1": { "one": "Apple", "two": "Banana" }, "Test2": { "one": "Kiwi", "two": "Tomato" } }
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

