J'essayais d'utiliser httpie pour publier plusieurs événements à l'aide de l'API http://open.sen.se/ . Cela accepte un tableau d'objets sans nom sous la forme de :
[
{
"feed_id": 12345,
"value": "foo"
},
{
"feed_id":23456,
"value": 2134
},
...
]
J'ai trouvé que je n'arrivais pas à faire en sorte que httpie crée JSON comme ça. La tentative d'utilisation du séparateur :=
pour le JSON brut sans nom de clé a créé cette sortie :
[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 , vous pouvez le faire en passant le JSON brut via STDIN
. Par exemple:
echo '[{"feed_id": 24571, "value": 64.0}, {"feed_id":24572, "value":60.0}]' | http api.sen.se/events/
@jakubroztocil bon travail ! tu résous mon problème
@jakubroztocil , j'utilise le http 0.9.2 et il voit que cela ne fonctionne plus.
J'ai créé un test.php avec le code :
<?php
print_r($_REQUEST);
Ensuite, j'ai essayé les requêtes ci-dessous :
echo '[{"feed_id": 24571, "value": 64.0}, {"feed_id":24572, "value":60.0}]' | http ://localhost/CRMvTiger_Rodobens/test.php
Revenir:
Déployer
(
)
echo '[{"feed_id": 24571, "value": 64.0}, {"feed_id":24572, "value":60.0}]' | http --form http://localhost/CRMvTiger_Rodobens/test.php
Revenir:
Déployer
(
)
echo '[{"feed_id": 24571, "value": 64.0}, {"feed_id":24572, "value":60.0}]' | http --json http://localhost/CRMvTiger_Rodobens/test.php
Revenir:
Déployer
(
)
echo '{"feed_id": 24571, "value": 64.0}, {"feed_id":24572, "value":60.0}' | http ://localhost/CRMvTiger_Rodobens/test.php
Revenir:
Déployer
(
)
echo '{"feed_id": 24571, "value": 64.0}, {"feed_id":24572, "value":60.0}' | http --json http://localhost/CRMvTiger_Rodobens/test.php
Revenir:
Déployer
(
)
echo '{"feed_id": 24571, "value": 64.0}, {"feed_id":24572, "value":60.0}' | http --form http://localhost/CRMvTiger_Rodobens/test.php
Revenir:
Déployer
(
[{"feed_id":_24571,_"value":_64_0},_{"feed_id":24572,_"value":60_0}
] =>
)
Le seul qui renvoie quelque chose est le dernier, mais je ne m'y attendais pas, il a renvoyé tous les json sous forme de clé avec une valeur vide.
Commentaire le plus utile
@chuma , vous pouvez le faire en passant le JSON brut via
STDIN
. Par exemple: