Carteiro: enviando objeto JSON aninhado

153

Estou usando a API da Web do ASP.NET: http://xyzdomain.com:16845/api/returns/returns

Como envio uma solicitação POST para o terminal usando a extensão Postman Chrome, Itemsé fornecida uma coleção:

[
  {
    "Items": [
      {
        "sku": "9257",
        "Price": "100",
        "Quantity": "500",
        "DiscountPercent": "1",
        "backordered": "2"
      }
    ],
    "order_id": "F429768865001",
    "status_code": "Shelf",
    "Exception": "no error"
  }
]
user3965303
fonte

Respostas:

175

Envie como dados brutos e defina o tipo como application/json

insira a descrição da imagem aqui

standup75
fonte
3
o que realmente está acontecendo quando esses dados são enviados como brutos? Onde e como ele é armazenado na solicitação?
Anthony Até
Eu usaria um proxy web para olhar que se o seu curioso (por exemplo: violinista no Windows, charles proxy no mac)
standup75
1
Como adiciono um arquivo de imagem na solicitação JSON bruta?
Shikhar varshney 01/09/2015
Sim, como adicionamos / carregamos uma imagem com uma solicitação JSON bruta. @Shikharvarshney Você encontrou uma maneira melhor?
Shahabaz 19/03/19
113

Para postar um objeto aninhado com a interface de valor-chave, você pode usar um método semelhante para enviar matrizes. Passe uma chave de objeto entre colchetes após o índice do objeto.

Passando um item aninhado com o Postman

"Items": [
      {
        "sku": "9257",
        "Price": "100"
      }
 ]
Peyotle
fonte
8
Esta é a melhor resposta na minha humilde opinião ... A mais fácil e mais gerenciável.
AturSams
2
Isto é o que eu estava procurando, apenas que eu tinha que Itens de gravação [sku] em vez de itens [0] [sku]
grom
7
No meu caso, eu tinha um objeto aninhado chamado location com cidade, estado e país. Eu tive que escrever location.city, location.state, etc.
Aafreen Sheikh
36

Eu consegui trabalhar usando a opção Dados brutos no carteiro, como você pode ver na captura de tela

insira a descrição da imagem aqui

ImranNaqvi
fonte
Isso é perfeito
Sachin Pakale 9/17
Isso é perfeito
dvn 11/03
27

Esta é uma combinação dos itens acima, porque eu tive que ler várias postagens para entender.

  1. Nos cabeçalhos , adicione os seguintes valores-chave:
    1. Content-Type para application/json
    2. e Acceptparaapplication/json

insira a descrição da imagem aqui

  1. No corpo :
    1. altere o tipo para "bruto"
    2. confirme "JSON (application / json)" é o tipo de texto
    3. coloque a propriedade aninhada lá: { "Obj1" : { "key1" : "val1" } }

insira a descrição da imagem aqui

Espero que isto ajude!

TBirquulose
fonte
3
Deve ser application/json, nãoapplications
NoobTW 30/17/17
@TBirkulosis: Com sua abordagem, JSON não será enviada com cabeçalho
Arpan
26

O par de valores-chave pode receber entradas avançadas.

Ex.

insira a descrição da imagem aqui

aefhm
fonte
1
Graças a uma tonelada, imaginei que isso estaria lá, mas eu estava tentando fazer anotações. Esta é certamente a resposta correta
Jack Franzen
23

Simplesmente adicione estes parâmetros: Na opção de cabeçalho da solicitação, adicioneContent-Type:application/json

cabeçalho tipo de conteúdo carteiro json

e no corpo , selecione o formato Raw e coloque seus json params como{'guid':'61791957-81A3-4264-8F32-49BCFB4544D8'}

json request carteiro

Encontrei a solução em http://www.iminfo.in/post/post-json-postman-rest-client-chrome

Ema.H
fonte
9

Selecione a guia body e selecione application / json no menu suspenso Content-Type e adicione um corpo como este:

{
  "Username":"ABC",
  "Password":"ABC"
}

insira a descrição da imagem aqui

Suraj Kshirsagar
fonte
7

Só queria adicionar mais um problema que algumas pessoas podem encontrar sobre todas as outras respostas. Enviando objeto JSON usando dados RAW e configurando o tipo comoapplication/json é o que deve ser feito, conforme mencionado acima.

Embora eu tenha feito isso, recebi um erro na solicitação POSTMAN, foi porque esqueci acidentalmente de criar um construtor padrão para as duas classes filho.

Digamos se eu tivesse que enviar um JSON de formato:

{
 "firstname" : "John",
 "lastname" : "Doe",
 "book":{
   "name":"Some Book",
   "price":12.2
  }
}

Depois, certifique-se de criar um construtor padrão para a classe Book.

Sei que este é um erro simples e incomum, mas certamente me ajudou.

bhanushrestha
fonte
5

Melhor maneira de fazer isso:

  1. Nos cabeçalhos, adicione os seguintes valores-chave:

    Content-Type to applications/json
    Accept to applications/json
  2. Abaixo do corpo, clique rawe digite o menu suspenso paraapplication/json

Também PFA para o mesmo

insira a descrição da imagem aqui

insira a descrição da imagem aqui

techyaura
fonte
4

Para um Json aninhado (exemplo abaixo), você pode formar uma consulta usando o carteiro, como mostrado abaixo.

{
    "Items": {
        "sku": "10 Units",
        "Price": "20 Rs"
    },
    "Characteristics": {
        "color": "blue",
        "weight": "2 lb"
    }
}

insira a descrição da imagem aqui

Arpan
fonte
1

Nos Params, adicionei model.Email e model.Password, funcionam bem para mim. Obrigado pela pergunta. Eu tentei a mesma coisa em cabeçalhos não funcionou. Mas funcionou no Body com dados do formulário e código x-www-form-url.

Postman versão 6.4.4

insira a descrição da imagem aqui

Kapila Perera
fonte
1

podemos enviar json aninhado como o seguinte formato

endereço [cidade] endereço [estado]

Atchutha rama reddy Karri
fonte
1

Apenas para quem deseja enviar um objeto JSON aninhado com dados do formulário como tipo de conteúdo.

Quero enviar custom_field aninhado abaixo { "description": "Details about the issue...", "subject": "Support Needed...", "type": "Others", "email": "[email protected]", "priority": 1, "status": 2, **"custom_fields" : { "cf_type_of_issue" : "Complaint" }**, "cc_emails": ["[email protected]","[email protected]"] }

insira a descrição da imagem aqui

Muhammad Maqsood
fonte