Estaba tratando de usar httpie para publicar múltiples eventos usando la http://open.sen.se/ API. Esto acepta una matriz de objetos sin nombre en forma de:
[
{
"feed_id": 12345,
"value": "foo"
},
{
"feed_id":23456,
"value": 2134
},
...
]
Descubrí que no podía hacer que httpie creara JSON de esta manera. Intentar usar el separador :=
para JSON sin formato sin un nombre de clave creó esta salida:
[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 , esto puede hacer pasando el JSON sin procesar a través de STDIN
. Por ejemplo:
echo '[{"feed_id": 24571, "value": 64.0}, {"feed_id":24572, "value":60.0}]' | http api.sen.se/events/
@jakubroztocil ¡ buen trabajo! tu resuelves mi problema
@jakubroztocil , estoy usando http 0.9.2 y parece que ya no funciona.
Creé un test.php con el código:
<?php
print_r($_REQUEST);
Luego probé las solicitudes a continuación:
echo '[{"feed_id": 24571, "value": 64.0}, {"feed_id": 24572, "value": 60.0}]' | http http: //localhost/CRMvTiger_Rodobens/test.php
Regreso:
Formación
(
)
echo '[{"feed_id": 24571, "value": 64.0}, {"feed_id": 24572, "value": 60.0}]' | http --form http: //localhost/CRMvTiger_Rodobens/test.php
Regreso:
Formación
(
)
echo '[{"feed_id": 24571, "value": 64.0}, {"feed_id": 24572, "value": 60.0}]' | http --json http: //localhost/CRMvTiger_Rodobens/test.php
Regreso:
Formación
(
)
echo '{"feed_id": 24571, "value": 64.0}, {"feed_id": 24572, "value": 60.0}' | http http: //localhost/CRMvTiger_Rodobens/test.php
Regreso:
Formación
(
)
echo '{"feed_id": 24571, "value": 64.0}, {"feed_id": 24572, "value": 60.0}' | http --json http: //localhost/CRMvTiger_Rodobens/test.php
Regreso:
Formación
(
)
echo '{"feed_id": 24571, "value": 64.0}, {"feed_id": 24572, "value": 60.0}' | http --form http: //localhost/CRMvTiger_Rodobens/test.php
Regreso:
Formación
(
[{"feed_id": _ 24571, _ "valor": _ 64_0}, _ {"feed_id": 24572, _ "valor": 60_0}
] =>
)
El único que devuelve algo es el último, pero no lo esperaba, devolvió todo json como una clave con un valor vacío.
Comentario más útil
@chuma , esto puede hacer pasando el JSON sin procesar a través de
STDIN
. Por ejemplo: