Unter dem Titel Tipps der Woche berichten wir regelmäßig über coole Codezeilen, Tricks und neue Plugins die unser Entwicklerleben vereinfachen. Das kann auch einmal weniger Rails spezifisch sein, z.B. wenn wir über MacOS X schreiben.
JSON-Requests von der Kommandozeile
Will man von der Kommandozeile aus zum Beispiel eine RESTful Schnittstelle testen, die Daten im JSON Format zurückgibt, so endet man mit curl & co. mit einer unformatierten Ausgabe die mühselig zu reformatieren ist. Tim Dysinger erging es wohl ähnlich und er hat dafür einen Ruby-Einzeiler für die .bashrc veröffentlicht:
Alias für die .bashrc (Unix)
alias jpp='ruby -e "%w(open-uri rubygems json).each{|l|require l};puts JSON.pretty_generate(JSON.parse(open(ARGV[0]).read))"'
Beispiel:
$ jpp http://api.kivaws.org/v1/loans/90998.json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | {
"loans": [
{
"name": "Cruz",
"location": {
"country": "Peru",
"geo": {
"level": "town",
"pairs": "-8.379147 -74.553866",
"type": "point"
},
"town": "Pucallpa"
},
"posted_date": "2009-02-23T00:20:09Z",
"activity": "Motorcycle Transport",
"id": 90998,
... |

