Fix GeoIP's mmdblookup
output to make it real json:
mmdblookup -f /var/lib/GeoIP/GeoLite2-City.mmdb -i $ip \ | perl -0777 -pe 's/\s+<\w+>$/, /gm; s/([\d"])$/$1,/s; s/\s+/ /g; s/,\s*(})/$1/g; s/}\s*([\d"])/}, $1/g;' \ | jq
The regexes are (this can certainly be simplified!) :
s/\s+<\w+>$/, /gm; # remove type indicator s/([\d"])$/$1,/s; # add comma after value s/\s+/ /g; # make it all one line s/,\s*(})/$1/g; # remove extra commas s/}\s*([\d"])/}, $1/g; # add missing commas