json - JQ如何通过转义从内部数组中读取数据
问题描述
我的json
样子:
{
"response": {
"resNum": 222222,
"start": 0,
"array": [{
"tr_id": "xx33fg",
"user_id": "6678",
"x_date": "2021-04-27",
"list": [
"[{\"id\":\"123\",\"val2\":\"RX\",\"date\":\"2020-11-13\"}",
"{\"id\":\"456\",\"val2\":\"DB\",\"date\":\"2020-09-20\"}]"
]
}]
}
}
我需要将其转换为:
{
"Result": [
{
"x_date": "2021-04-10",
"array": [
{
"id": "345",
"val2": "RX",
"date": "2021-04-10"
},
{
"id": "223",
"val2": "XC",
"date": "2021-04-10"
}
]
}
]
}
我如何阅读id
,val2
并date
从列表中使用jq
?我试过了
id: .response? | .array[]? | .list[]? | .id
但是没有成功,我得到一个错误。我认为带有转义的嵌套数组是原因。有人可以帮助我吗?谢谢!
解决方案
用于fromjson
取消转义字符串。
jq '.response.array[]
| {Result:[{x_date, array: .list
| join(",")
| fromjson}]}'
输出与您发布的内容不同,但我不知道您想如何翻译这些值。
推荐阅读
- angular - 路由器导航导致信息消失
- android - 如何修复“计算 CMake 服务器结果时出错”。Android中的错误?
- javascript - 400 错误请求 http 调用角度
- git - 在 Jenkins 中构建多分支管道作业的访问权限
- c# - 文件从 Azure 存储上传两次。删除可能有问题?
- php - 我正在尝试使用 mdbootstrap 中的 datepicker,但日期在数据库中显示为 0000-00-00
- javascript - 如何在 React.js 中映射到另一个地图
- c# - 如何在列表中赋值
类型 Xml 类 - javascript - Express 4 中路径参数中的 Json 对象
- apache-kafka - 同步来自多个数据源的数据