如何将 JSON 多值输出转换为正确的 JSON 格式?
How to convert JSON multiple value output into proper JSON format?
我正在尝试将以下输出转换为有效的 json 输出。无法使用 shell 脚本解决此问题。
当前输出:
{ “adapter Type” : “Pass” , “Result” : “
ABCD/AAZZ
ABCD/AHAG” },
{ “Adapter Slot” : “Pass” , “Result” : “
PCI Slot 3
PCI Slot 2” },
{ “WWN” : “Pass” , “Result” : “
10:01:02:90
10:02:03:90” }
预期输出(json):
{
"CUT Sheet ": [{
"Host Adapter Type": "ABCD/AAZZ",
"Adapter Physical Location/Slot": "PCI Slot 3",
"HBA WWN": "10:01:02:90"
}, {
"Host Adapter Type": "ABCD/AHAG",
"Adapter Physical Location/Slot": "PCI Slot 2",
"HBA WWN": "10:02:03:90"
}]
}
是否可以转换?有人可以提供解决方案吗
我错过了当前输出中的括号和结果之间的换行(可能是剪切和粘贴问题),但输出:
[ {
"adapterType": "Pass",
"Result": "ABCD/AAZZ\nABCD/AHAG" }, {
"AdapterSlot": "Pass",
"Result": "PCI Slot 3\nPCI Slot 2" }, {
"WWN": "Pass",
"Result": "10:01:02:90\n10:02:03:90" } ]
重定向到:
| jq 'map_values(.Result | split("\n")) | transpose | map( {"Host Adapter Type":.[0], "Adapter Physical Location/Slot":.[1], "HBA WWN":.[2]})' | jq -n '."CUT Sheet " |= [输入]'
生成输出:
{
"CUT Sheet ": [
[
{
"Host Adapter Type": "ABCD/AAZZ",
"Adapter Physical Location/Slot": "PCI Slot 3",
"HBA WWN": "10:01:02:90"
},
{
"Host Adapter Type": "ABCD/AHAG",
"Adapter Physical Location/Slot": "PCI Slot 2",
"HBA WWN": "10:02:03:90"
}
]
]
}
您需要安装 jq
我正在尝试将以下输出转换为有效的 json 输出。无法使用 shell 脚本解决此问题。
当前输出:
{ “adapter Type” : “Pass” , “Result” : “
ABCD/AAZZ
ABCD/AHAG” },
{ “Adapter Slot” : “Pass” , “Result” : “
PCI Slot 3
PCI Slot 2” },
{ “WWN” : “Pass” , “Result” : “
10:01:02:90
10:02:03:90” }
预期输出(json):
{
"CUT Sheet ": [{
"Host Adapter Type": "ABCD/AAZZ",
"Adapter Physical Location/Slot": "PCI Slot 3",
"HBA WWN": "10:01:02:90"
}, {
"Host Adapter Type": "ABCD/AHAG",
"Adapter Physical Location/Slot": "PCI Slot 2",
"HBA WWN": "10:02:03:90"
}]
}
是否可以转换?有人可以提供解决方案吗
我错过了当前输出中的括号和结果之间的换行(可能是剪切和粘贴问题),但输出:
[ {
"adapterType": "Pass",
"Result": "ABCD/AAZZ\nABCD/AHAG" }, {
"AdapterSlot": "Pass",
"Result": "PCI Slot 3\nPCI Slot 2" }, {
"WWN": "Pass",
"Result": "10:01:02:90\n10:02:03:90" } ]
重定向到:
| jq 'map_values(.Result | split("\n")) | transpose | map( {"Host Adapter Type":.[0], "Adapter Physical Location/Slot":.[1], "HBA WWN":.[2]})' | jq -n '."CUT Sheet " |= [输入]'
生成输出:
{
"CUT Sheet ": [
[
{
"Host Adapter Type": "ABCD/AAZZ",
"Adapter Physical Location/Slot": "PCI Slot 3",
"HBA WWN": "10:01:02:90"
},
{
"Host Adapter Type": "ABCD/AHAG",
"Adapter Physical Location/Slot": "PCI Slot 2",
"HBA WWN": "10:02:03:90"
}
]
]
}
您需要安装 jq