Postino: invio di oggetti JSON nidificati


153

Sto usando l'API Web ASP.NET: http://xyzdomain.com:16845/api/returns/returns

Come posso inviare una richiesta POST all'endpoint usando l'estensione Postman per Chrome, dato che Itemsè una raccolta:

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

Risposte:


175

Invia come dati non elaborati e imposta il tipo su application/json

inserisci qui la descrizione dell'immagine


3
cosa sta realmente accadendo quando questi dati vengono inviati come raw? Dove e come viene archiviato nella richiesta?
Anthony, al

Userei un proxy web per osservarlo se sei curioso (ad esempio: violinista su Windows, charles proxy su mac)
standup75

1
Come faccio ad aggiungere un file di immagine nella richiesta JSON non elaborata?
Shikhar varshney,

Sì, come possiamo aggiungere / caricare l'immagine con una richiesta JSON non elaborata. @Shikharvarshney Hai trovato un modo migliore?
Shahabaz,

113

Per pubblicare un oggetto nidificato con l'interfaccia valore-chiave, è possibile utilizzare un metodo simile per inviare matrici. Passa una chiave oggetto tra parentesi quadre dopo l'indice oggetto.

Passando un oggetto nidificato con Postman

"Items": [
      {
        "sku": "9257",
        "Price": "100"
      }
 ]

8
Questa è la migliore risposta secondo la mia modesta opinione ... La più semplice e gestibile.
AturSams

2
Questo è quello che stavo cercando, solo che dovevo scrivere Items [sku] invece di Items [0] [sku]
grom

7
Nel mio caso, avevo un oggetto nidificato chiamato location con città, stato e paese. Ho dovuto scrivere location.city, location.state, ecc.
Aafreen Sheikh il


27

Questa è una combinazione di quanto sopra, perché ho dovuto leggere diversi post per capire.

  1. Nelle intestazioni , aggiungi i seguenti valori-chiave:
    1. Content-Type per application/json
    2. e Acceptaapplication/json

inserisci qui la descrizione dell'immagine

  1. Nel corpo :
    1. cambia il tipo in "grezzo"
    2. confermare "JSON (application / json)" è il tipo di testo
    3. inserisci lì la proprietà nidificata: { "Obj1" : { "key1" : "val1" } }

inserisci qui la descrizione dell'immagine

Spero che questo ti aiuti!


3
Dovrebbe essere application/json, nonapplications
NoobTW

@TBirkulosis: con il tuo approccio, Json non verrà inviato con Header
Arpan il

26

La coppia chiave-valore può accettare input avanzati.

Ex.

inserisci qui la descrizione dell'immagine


1
Grazie mille, ho pensato che sarebbe stato lì, ma stavo provando l'annotazione punto. Questa è sicuramente la risposta corretta
Jack Franzen, il


9

Seleziona la scheda body e seleziona application / json nel menu a discesa Content-Type e aggiungi un body come questo:

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

inserisci qui la descrizione dell'immagine


7

Volevo solo aggiungere un altro problema che alcune persone potrebbero trovare in cima a tutte le altre risposte. L'invio di oggetti JSON utilizzando i dati RAW e l'impostazione del tipo su application/jsonè ciò che deve essere fatto come è stato menzionato sopra.

Anche se l'avevo fatto, ho ricevuto un errore nella richiesta POSTMAN, perché avevo accidentalmente dimenticato di creare un costruttore predefinito per entrambe le classi secondarie.

Di 'se ho dovuto inviare un formato JSON:

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

Quindi assicurati di creare un costruttore predefinito per la classe Book.

So che questo è un errore semplice e non comune, ma sicuramente mi ha aiutato.


5

Il modo migliore per farlo:

  1. Nelle intestazioni, aggiungi i seguenti valori-chiave:

    Content-Type to applications/json
    Accept to applications/json
  2. Sotto il corpo, fai clic sul rawmenu a discesa e digita suapplication/json

Anche PFA per lo stesso

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


4

Per un Json nidificato (esempio di seguito), è possibile formare una query utilizzando postman come mostrato di seguito.

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

inserisci qui la descrizione dell'immagine


1

In Params ho aggiunto model.Email e model.Password, funziona bene per me. Grazie per la domanda Ho provato la stessa cosa nelle intestazioni non ha funzionato. Ma ha funzionato su Body con form-data e x-www-form-urlencoded.

Postman versione 6.4.4

inserisci qui la descrizione dell'immagine



1

Solo per coloro che desiderano inviare un oggetto JSON nidificato con i dati del modulo come tipo di contenuto.

Voglio inviare il campo personalizzato nidificato in basso { "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"] }

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.