{'abc':{'name':'John','address':'USA'},'xyz':{'name':'Robert','address':'Canada'}}
答案 0 :(得分:0)
示例无效JSON。
jq可用于漂亮打印有效的JSON,但有一些重要的警告,主要是关于数字。例如:
$ jq . <<< '{ "abc": { "name": "John", "address": "USA" }, "xyz": { "name": "Robert", "address": "Canada" } }'
{
"abc": {
"name": "John",
"address": "USA"
},
"xyz": {
"name": "Robert",
"address": "Canada"
}
}
有关将不完全有效的JSON转换为JSON的信息,请参阅jq FAQ - 搜索not-quite-valid
。
jq FAQ(jsonlint)中上面引用的部分中提到的至少一个工具不仅会将单引号的准JSON转换为JSON,而且还可以将它打印出来。
在您提供的示例中,您可以将sed
甚至tr
与jq结合使用:
echo "{ 'abc': { 'name': 'John', 'address': 'USA' }, 'xyz': { 'name': 'Robert', 'address': 'Canada' } }" |
tr "'" '"' | jq .
{
"abc": {
"name": "John",
"address": "USA"
},
"xyz": {
"name": "Robert",
"address": "Canada"
}
}