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"
  }
]
user3965303
la source

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

debout75
la source
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"
      }
 ]
Peyotle
la source
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

ImranNaqvi
la source
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!

TBirkulose
la source
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

aefhm
la source
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
23

Ajoutez simplement ces paramètres: Dans l' option d'en- tête de la requête, ajoutezContent-Type:application/json

header content-type postman json

et dans le corps , sélectionnez le format Raw et mettez vos paramètres json comme{'guid':'61791957-81A3-4264-8F32-49BCFB4544D8'}

json demande facteur

J'ai trouvé la solution sur http://www.iminfo.in/post/post-json-postman-rest-client-chrome

Ema.H
la source
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

Suraj Kshirsagar
la source
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é.

bhanushrestha
la source
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

techyaura
la source
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

Arpan
la source
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

Kapila Perera
la source
1

nous pouvons envoyer des json imbriqués comme le format suivant

adresse [ville] adresse [état]

Atchutha rama reddy Karri
la source
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": "[email protected]", "priority": 1, "status": 2, **"custom_fields" : { "cf_type_of_issue" : "Complaint" }**, "cc_emails": ["[email protected]","[email protected]"] }

entrez la description de l'image ici

Muhammad Maqsood
la source