【发布时间】:2022-09-29 18:04:19
【问题描述】:
我有以下数据:
[
{
\"company.u_ats_region\": \"Region1\",
\"hostname\": \"host1\",
\"install_status\": \"1\",
\"os\": \"Windows\",
\"os_domain\": \"test.com\"
},
{
\"company.u_ats_region\": \"Region2\",
\"hostname\": \"host2\",
\"install_status\": \"1\",
\"os\": \"Windows\",
\"os_domain\": \"test.com\"
},
{
\"company.u_ats_region\": \"Region3\",
\"hostname\": \"host3\",
\"install_status\": \"7\",
\"os\": \"Windows\",
\"os_domain\": \"test.com\"
}
]
我一直在使用这个查询
{count: length,
regions: [group_by(.\"company.u_ats_region\")[] |
{( [0].\"company.u_ats_region\"): [.[] |
{name: (.hostname+\".\"+.os_domain),
os: .os}]}]}
将数据转换为以下内容:
{
\"count\": 3,
\"regions\": [
{
\"Region1\": [
{
\"name\": \"host1.test.com\",
\"os\": \"Windows\"
}
]
},
{
\"Region2\": [
{
\"name\": \"host2.test.com\",
\"os\": \"Windows\"
}
]
},
{
\"Region3\": [
{
\"name\": \"host3.test.com\",
\"os\": \"Windows\"
}
]
}
]
}
这接近我试图实现的目标,但我希望 \'regions\' 成为单个对象,每个区域都是该对象中的一个键,如下所示:
{
\"count\": 3,
\"regions\": {
\"Region1\": [
{
\"name\": \"host1.test.com\",
\"os\": \"Windows\"
}
],
\"Region2\": [
{
\"name\": \"host2.test.com\",
\"os\": \"Windows\"
}
],
\"Region3\": [
{
\"name\": \"host3.test.com\",
\"os\": \"Windows\"
}
]
}
}
我尝试过使用“添加”,但这仍然没有让我更接近我想要达到的结果。任何帮助表示赞赏!
-
您提供的脚本不会为我生成声明的输出,但会导致错误。看起来它在
[0]之前缺少.。应该是:.[0].\"company.u_ats_region\"