我正在努力使用jq按摩输入数据,以便保留第一级键,而较低级别的 JSON 被转换为转义字符串。
输入 JSON:
{
"a": "1",
"b": {
"c": "2",
"d": {
"e": "3"
}
},
"f": "4"
}
Run Code Online (Sandbox Code Playgroud)
期望的输出:
{
"a": "1",
"b": "{ \"c\": \"2\", \"d\": { \"e\": \"3\"} }",
"f": "4"
}
Run Code Online (Sandbox Code Playgroud)
有没有“纯粹”的jq解决方案?
with_entries并且tostring似乎可以解决问题:
$ jq 'with_entries(.value |= tostring )' example.json
{
"a": "1",
"b": "{\"c\":\"2\",\"d\":{\"e\":\"3\"}}",
"f": "4"
}
Run Code Online (Sandbox Code Playgroud)