2016-05-13 2 views
15

Я пытаюсь использовать HTTPie для разбора для отправки некоторого вложенного объекта JSON, но я не могу найти его. Это очень понятно, как отправить объект JSON, но не вложенная один такой какОтправка вложенного объекта JSON с помощью HTTPie

{ "пользователь": { "имя": "джон" "возраст": 10}}

ответ

28

Вы можете pass the whole JSON via stdin:

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

Или specify the raw JSON as value with :=:

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

Что если name - фактически объект json, а не таблица. Следовательно, внутри пользователя вы называете: {"id": "x", "fn": "xx"} – MaatDeamon

+0

Что вы подразумеваете под «таблицей»? В обоих примерах HTTPie отправляет объект JSON из вашего вопроса. –

+0

Извините за стол i, котор я имел в виду массив – MaatDeamon

17

Мне нравится этот путь:

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

Это preferrable, потому что он имеет тот же префикс, как соответствующие команды, и так удобно, чтобы найти команды с Ctrl+R в Баш:

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

Кажется, это решение не работает в Windows –

Смежные вопросы