只是试图弄清楚这个简单的JSON片段
[{ "rooms": "2 Rooms" }, { "rooms": "3 Rooms" }]
转化为
[{ "rooms": 2 }, { "rooms": 3 }]
我在文档中找到了支持regexp的函数的引用,但是我不能只写这样的内容
[.[] | { "rooms": .rooms } ]
答案 0 :(得分:1)
这是一种可以轻松适应不同需求的方法:
def extractNumber: gsub("[^0-9]";"") | tonumber;
map( map_values(extractNumber) )
def extractNumber:
. as $in
| gsub("[^0-9]";"")
| if length == 0 then $in else tonumber end;
walk(if type == "object" then map_values(extractNumber) else . end)