2016-05-13 10 views
15

Ich versuche HTTPie zu verwenden, um einige geschachtelte JSON-Objekt zu analysieren, aber ich kann nicht finden, wie. Es ist ziemlich klar, wie ein JSON-Objekt zu senden, aber nicht ein verschachtelten ein wieSenden verschachtelten JSON-Objekt mit HTTPie

{ "user": { "name": "john" "Alter": 10}}

Antwort

28

Sie können pass the whole JSON via stdin:

$ echo '{ "user": { "name": "john", "age": 10 } }' | http httpbin.org/post 

Oder specify the raw JSON as value with :=:

$ http httpbin.org/post user:='{"name": "john", "age": 10 }' 
+0

Was ist, wenn Name ist eigentlich ein JSON-Objekt und keine Tabelle. Also innerhalb von Benutzer Sie Name: {"id": "x", "fn": "xx"} – MaatDeamon

+0

Was meinen Sie mit "Tabelle"? In beiden obigen Beispielen sendet HTTPie das JSON-Objekt von Ihrer Frage. –

+0

Sorry von Tabelle Ich meinte Array – MaatDeamon

17

Ich mag diese Art und Weise:

$ http PUT localhost:8080/user <<<'{ "user": { "name": "john" "age": 10 }}' 

Es ist preferrable, weil es den gleichen Präfix wie die zugehörigen Befehle hat, und so ist es zweckmäßig, die Befehle mit Ctrl+R in bash zu finden:

$ http localhost:8080/user/all 
$ http GET localhost:8080/user/all # the same as the previous 
$ http DELETE localhost:8080/user/234 
+0

Es scheint, dass diese Lösung in Windows nicht funktioniert –

Verwandte Themen