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

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

Leave a Comment