json - 当给定一个具有两个兄弟属性的对象时,使用 jq 如何创建一个新对象,其中兄弟属性被移动为子属性?
问题描述
我有以下形式的对象数组:
{
"alpha": {
"beta": "gamma",
"delta": "epsilon"
},
"zeta": {
"eta": "theta",
"iota": "kappa"
}
}
使用jq
,我想将此对象转换为以下形式:
{
"alpha": {
"beta": "gamma",
"delta": "epsilon",
"zeta": {
"eta": "theta",
"iota": "kappa"
}
},
}
我怎么做?我对jq's
语法不是特别熟悉,并且手册没有提供任何明确的答案,至少据我所知。
提前致谢!
解决方案
$ jq '{alpha: (.alpha + {zeta})}' tmp.json
{
"alpha": {
"beta": "gamma",
"delta": "epsilon",
"zeta": {
"eta": "theta",
"iota": "kappa"
}
}
}
{zeta}
是 的简写{zeta: .zeta}
。
推荐阅读
- gradle - Eclipse Gradle 安装错误:无法找到请求目标的有效认证路径
- react-native-ios - 使用 fastlane 获取 beta 版本时出错
- c# - 何时将我的数据保存在非事件源 CQRS 代码库中
- twilio - 如何更改 Twilio Flex 网络聊天客户端中的文本“与我们聊天”?
- javascript - 如何在使用 Lottie 和 Javascript 完成动画后显示页面
- amazon-cloudformation - 当 StorageType : io1 时在 cloudformation 中使用 Iops 属性,当 Storage type : gp2 时不使用
- python - 使用 to_excel 导出时将当前日期添加到文件名的末尾
- android - Android 测试存储健康:获取存储和 Ram 健康
- javascript - 如何在没有 nodeIntegration [电子] 的情况下在 index.html 中使用 node.js
- asp.net-mvc - 如果 WebGrid MVC c# 中的列中的文本过多,则显示更多或显示更少链接