如何改变双引号为JSON中的子对象单引号?



我有一个JSON文本文件,我需要将其导入数据库。我已经准备好了,除了一分钟的差异,即我需要使用jq将JSON的所有嵌套级别的子/值的双引号更改为单引号。

例如,

{"foo":"bar","ping":{"pong":"ping-pong","n":[{"a":1},{"b":2}]},"alpha":"beta","hello":"there!","you":"2"}

,期望输出为:

{"foo":"bar","ping":{'pong':'ping-pong','n':[{'a':1},{'b':2}]}, "alpha":"beta","hello":"there!","you":"2"}

使用jq的tojson@json函数将任何JSON对象转换为JSON编码的字符串:

jq '.ping |= tojson' example.json

演示
jq '.ping |= @json' example.json

演示都生产

{
"foo": "bar",
"ping": "{"pong":"ping-pong","n":[{"a":1},{"b":2}]}",
"alpha": "beta",
"hello": "there!",
"you": "2"
}

最新更新