我有一个JSON文件,其中包含多个数字型uid字段,但我需要将其转换为字符串。这些uid字段嵌套在文件中的不同位置。
e.g. "uid": 891602734537070110 => "uid": "891602734537070110"
我尝试了以下命令:
jq '(.. | .uid?) |= (tostring)'
有点奏效,但它为所有没有开头的字典增加了一个“ uid”字段(例如“ uid”:“ null”)。
正确的方法是什么?
答案 0 :(得分:2)
正确的方法是walk
:
walk(
if type == "object" and has("uid")
then .uid |= tostring
else . end
)