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

Respostas:


175

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

insira a descrição da imagem aqui


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

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


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!


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


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


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


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.


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


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


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



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": "tom@outerspace.com", "priority": 1, "status": 2, **"custom_fields" : { "cf_type_of_issue" : "Complaint" }**, "cc_emails": ["ram@freshdesk.com","diana@freshdesk.com"] }

insira a descrição da imagem aqui

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.