Httpie: Capacidade de postar matrizes de objetos JSON anônimos

Criado em 10 jan. 2013  ·  3Comentários  ·  Fonte: httpie/httpie

Estava tentando usar httpie para postar vários eventos usando a API http://open.sen.se/ . Isso aceita uma matriz de objetos sem nome na forma de:

[
    {
        "feed_id": 12345,
        "value": "foo"
    },
    {
        "feed_id":23456,
        "value": 2134
    },
    ...
]

Descobri que não consigo fazer o httpie criar JSON assim. A tentativa de usar o separador := para JSON bruto sem um nome de chave criou esta saída:

[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
        }
    ]
}

Comentários muito úteis

@chuma , isso você pode fazer passando o JSON bruto via STDIN . Por exemplo:

echo '[{"feed_id": 24571, "value": 64.0}, {"feed_id":24572, "value":60.0}]' | http api.sen.se/events/ 

Todos 3 comentários

@chuma , isso você pode fazer passando o JSON bruto via STDIN . Por exemplo:

echo '[{"feed_id": 24571, "value": 64.0}, {"feed_id":24572, "value":60.0}]' | http api.sen.se/events/ 

@jakubroztocil bom trabalho! voce resolve meu problema

@jakubroztocil , estou usando o http 0.9.2 e parece que não funciona mais isso.

Criei um test.php com o código:

<?php
print_r($_REQUEST);

Então tentei os pedidos abaixo:

echo '[{"feed_id": 24571, "valor": 64.0}, {"feed_id": 24572, "valor": 60.0}]' | http : //localhost/CRMvTiger_Rodobens/test.php
Retornar:
Variedade
(
)

echo '[{"feed_id": 24571, "valor": 64.0}, {"feed_id": 24572, "valor": 60.0}]' | http --form http: //localhost/CRMvTiger_Rodobens/test.php
Retornar:
Variedade
(
)

echo '[{"feed_id": 24571, "valor": 64.0}, {"feed_id": 24572, "valor": 60.0}]' | http --json http: //localhost/CRMvTiger_Rodobens/test.php
Retornar:
Variedade
(
)

echo '{"feed_id": 24571, "valor": 64.0}, {"feed_id": 24572, "valor": 60.0}' | http : //localhost/CRMvTiger_Rodobens/test.php
Retornar:
Variedade
(
)

echo '{"feed_id": 24571, "valor": 64.0}, {"feed_id": 24572, "valor": 60.0}' | http --json http: //localhost/CRMvTiger_Rodobens/test.php
Retornar:
Variedade
(
)

echo '{"feed_id": 24571, "valor": 64.0}, {"feed_id": 24572, "valor": 60.0}' | http --form http: //localhost/CRMvTiger_Rodobens/test.php
Retornar:
Variedade
(
[{"feed_id": _ 24571, _ "valor": _ 64_0}, _ {"feed_id": 24572, _ "valor": 60_0}
] =>
)

O único que retorna algo é o último, mas não era o que eu esperava, ele retornou todos os json como uma chave com um valor vazio.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Abdallah-Obaid picture Abdallah-Obaid  ·  4Comentários

loretoparisi picture loretoparisi  ·  6Comentários

victorhooi picture victorhooi  ·  4Comentários

rashthedude picture rashthedude  ·  3Comentários

k0pernikus picture k0pernikus  ·  3Comentários