How to convert a string to an integer in a JSON file using jq?

前端 未结 2 1711
情歌与酒
情歌与酒 2020-12-20 11:06

I use jq to transform a complex json object into a tinier one. My query is:

jq \'to_entries[]| {companyId: (.key), companyTitle: (.value.title), companyCode:         


        
2条回答
  •  难免孤独
    2020-12-20 11:45

    jq has inbuilt functions, you can pipe your key to tonumber:

    jq 'to_entries[]| {companyId: (.key)|tonumber, companyTitle: (.value.title), companyCode: (.value.booking_service_code)}' companies.json
    

    As per the docs:

    tonumber The tonumber function parses its input as a number. It will convert correctly-formatted strings to their numeric equivalent, leave numbers alone, and give an error on all other input.

    Example jq '.[] | tonumber' Input [1, "1"] Output 1 1

提交回复
热议问题