Postman: envoi d'un objet JSON imbriqué


153

J'utilise l'API Web ASP.NET: http://xyzdomain.com:16845/api/returns/returns

Comment envoyer une demande POST au point de terminaison à l'aide de l'extension Postman Chrome, étant donné Itemsune collection:

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

Réponses:


175

Envoyez-le sous forme de données brutes et définissez le type sur application/json

entrez la description de l'image ici


3
que se passe-t-il réellement lorsque ces données sont envoyées brutes? Où et comment est-il stocké dans la demande?
Anthony To

J'utiliserais un proxy Web pour regarder cela si vous
êtes

1
Comment ajouter un fichier image dans la requête JSON brute?
Shikhar varshney

Ouais, comment ajouter / télécharger une image avec une requête JSON brute. @Shikharvarshney Avez-vous trouvé un meilleur moyen?
Shahabaz

113

Pour publier un objet imbriqué avec l'interface clé-valeur, vous pouvez utiliser une méthode similaire à l'envoi de tableaux. Passez une clé d'objet entre crochets après l'index d'objet.

Passer un élément imbriqué avec Postman

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

8
C'est la meilleure réponse à mon humble avis ... La plus simple et la plus gérable.
AturSams

2
C'est ce que je cherchais, juste que je devais écrire des éléments [sku] au lieu des éléments [0] [sku]
grom

7
Dans mon cas, j'avais un objet imbriqué appelé location avec la ville, l'état et le pays. J'ai dû écrire location.city, location.state, etc.
Aafreen Sheikh

36

Je l'ai fait fonctionner en utilisant l'option Données brutes dans Postman, comme vous pouvez le voir sur la capture d'écran

entrez la description de l'image ici


C'est parfait
Sachin Pakale

C'est parfait
dvn

27

C'est une combinaison de ce qui précède, car j'ai dû lire plusieurs articles pour comprendre.

  1. Dans les en- têtes , ajoutez les valeurs-clés suivantes:
    1. Content-Type à application/json
    2. et Acceptàapplication/json

entrez la description de l'image ici

  1. Dans le corps :
    1. changer le type en "brut"
    2. confirmez que "JSON (application / json)" est le type de texte
    3. placez-y la propriété imbriquée: { "Obj1" : { "key1" : "val1" } }

entrez la description de l'image ici

J'espère que cela t'aides!


3
Ça devrait être application/json, nonapplications
NoobTW

@TBirkulosis: Avec votre approche, Json ne sera pas envoyé avec Header
Arpan

26

La paire clé-valeur peut accepter des entrées avancées.

Ex.

entrez la description de l'image ici


1
Merci beaucoup, j'ai pensé que ce serait là mais j'essayais l'annotation par points. C'est certainement la bonne réponse
Jack Franzen


9

Sélectionnez l' onglet corps et sélectionnez application / json dans la liste déroulante Type de contenu et ajoutez un corps comme celui-ci:

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

entrez la description de l'image ici


7

Je voulais juste ajouter un autre problème que certaines personnes pourraient trouver en plus de toutes les autres réponses. Envoyer un objet JSON à l'aide de données RAW et définir le type sur application/jsonest ce qui doit être fait comme cela a été mentionné ci-dessus.

Même si je l'avais fait, j'ai eu une erreur dans la requête POSTMAN, c'était parce que j'avais accidentellement oublié de créer un constructeur par défaut pour les deux classes enfants.

Dites si je devais envoyer un JSON de format:

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

Assurez-vous ensuite de créer un constructeur par défaut pour la classe Book.

Je sais que c'est une erreur simple et rare, mais cela m'a certainement aidé.


5

Meilleure façon de faire cela:

  1. Dans les en-têtes, ajoutez les valeurs-clés suivantes:

    Content-Type to applications/json
    Accept to applications/json
  2. Sous le corps, cliquez sur rawet tapez le menu déroulant pourapplication/json

Aussi PFA pour le même

entrez la description de l'image ici

entrez la description de l'image ici


4

Pour un Json imbriqué (exemple ci-dessous), vous pouvez former une requête à l'aide de postman comme indiqué ci-dessous.

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

entrez la description de l'image ici


1

Dans les paramètres, j'ai ajouté model.Email et model.Password, fonctionnent bien pour moi. Merci pour la question. J'ai essayé la même chose dans les en-têtes ne fonctionnait pas. Mais cela a fonctionné sur Body avec form-data et x-www-form-urlencoded.

Postman version 6.4.4

entrez la description de l'image ici



1

Juste pour ceux qui veulent envoyer un objet JSON imbriqué avec des données de formulaire comme type de contenu.

Je souhaite envoyer un champ personnalisé imbriqué ci-dessous { "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"] }

entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.