Ruby - HTTParty - Problemas para enviar array JSON

Topic created · 4 Posts · 44 Visualizações
  • Olá para todos, preciso de ajuda

    Estou com problemas para enviar um array via Post, estou usando Ruby e a gem HTTParty.

    {
      "Cliente": "Z9999999",
      "Pecas": [
        "|01|PLACA 8|",
        "|01|MOUSE UAI8|"
      ]
    }
    

    O problema é que a api recebe o array como String.

    {
      "Cliente": "Z9999999",
      "Pecas": "[
        "|01|PLACA 8|",
        "|01|MOUSE UAI8|"
      ]"
    }
    

    Segue abaixo como estou fazendo.

    num_cliente= "Z9999999"
    pecas =  ["|01|PLACA 8|", "|01|MOUSE UAI8|"]
    
    json = JSON.pretty_generate(
           "Cliente"=>num_cliente.to_s,
           "Pecas"=>pecas
         ) 
    
    post = HTTParty.post(
            $url_post_update,
            body: json,
            headers: {'Content-Type' => 'application/json'},
            timeout: $timeout
        )    
    

    Alguém já precisou enviar um array? Não encontrei na internet um exemplo de envio de array JSON.
    Obs: já tentei usar .gsub para trocar o "[ por [, sem sucesso.

  • @douglas-santos acredito que você tenha que fazer algo assim:

    num_cliente= “Z9999999”
    pecas = ["|01|PLACA 8|", “|01|MOUSE UAI8|”]

    json = JSON.pretty_generate(
    “Cliente”=>num_cliente.to_s,
    “Pecas”=> [ pecas[0],
    pecas[1]
    ]
    )

  • Este post está deletado!
  • Boa noite, Faço um pouco diferente de vc, tentei adaptar como faço no seu código! tenta assim pra ver se rola…

    num_cliente= “Z9999999”
    pecas = [{“|01|PLACA 8|”, “|01|MOUSE UAI8|”}]

    json = JSON.pretty_generate(
    “Cliente”=>num_cliente,
    “Pecas”=>pecas
    )

    post = HTTParty.post(
    $url_post_update,
    body: json,
    headers: {‘Content-Type’ => ‘application/json’},
    timeout: $timeout
    )