Пытался использовать httpie для публикации нескольких событий с помощью http://open.sen.se/ API. Он принимает массив безымянных объектов в форме:
[
{
"feed_id": 12345,
"value": "foo"
},
{
"feed_id":23456,
"value": 2134
},
...
]
Обнаружил, что я не мог заставить httpie создавать JSON таким образом. Попытка использовать разделитель :=
для необработанного JSON без имени ключа привела к следующему результату:
[victor<strong i="11">@klamm</strong> ~]$ http -p B api.sen.se/events/ :='[{"feed_id": 24571, "value": 64.0}, {"feed_id":24572, "value":60.0}]'
{
"": [
{
"feed_id": 24571,
"value": 64.0
},
{
"feed_id": 24572,
"value": 60.0
}
]
}
@chuma , это можно сделать, передав необработанный JSON через STDIN
. Например:
echo '[{"feed_id": 24571, "value": 64.0}, {"feed_id":24572, "value":60.0}]' | http api.sen.se/events/
@jakubroztocil, молодец ! ты решаешь мою проблему
@jakubroztocil , я использую http 0.9.2, и мне кажется, что он больше не работает.
Я создал test.php с кодом:
<?php
print_r($_REQUEST);
Затем я попробовал следующие запросы:
echo '[{"feed_id": 24571, "value": 64.0}, {"feed_id": 24572, "value": 60.0}]' | http http: //localhost/CRMvTiger_Rodobens/test.php
Возвращение:
Множество
(
)
echo '[{"feed_id": 24571, "value": 64.0}, {"feed_id": 24572, "value": 60.0}]' | http --form http: //localhost/CRMvTiger_Rodobens/test.php
Возвращение:
Множество
(
)
echo '[{"feed_id": 24571, "value": 64.0}, {"feed_id": 24572, "value": 60.0}]' | http --json http: //localhost/CRMvTiger_Rodobens/test.php
Возвращение:
Множество
(
)
echo '{"feed_id": 24571, "value": 64.0}, {"feed_id": 24572, "value": 60.0}' | http http: //localhost/CRMvTiger_Rodobens/test.php
Возвращение:
Множество
(
)
echo '{"feed_id": 24571, "value": 64.0}, {"feed_id": 24572, "value": 60.0}' | http --json http: //localhost/CRMvTiger_Rodobens/test.php
Возвращение:
Множество
(
)
echo '{"feed_id": 24571, "value": 64.0}, {"feed_id": 24572, "value": 60.0}' | http --form http: //localhost/CRMvTiger_Rodobens/test.php
Возвращение:
Множество
(
[{"feed_id": _ 24571, _ "value": _ 64_0}, _ {"feed_id": 24572, _ "value»: 60_0}
] =>
)
Единственное, что возвращает что-то, - это последний, но я не ожидал, что он вернул весь json как ключ с пустым значением.
Самый полезный комментарий
@chuma , это можно сделать, передав необработанный JSON через
STDIN
. Например: