Postman: sending nested JSON object
JsonGoogle Chromeasp.net Web-ApiPostmanJson Problem Overview
I am using ASP.NET Web API: http://xyzdomain.com:16845/api/returns/returns
How do I send a POST request to the endpoint using Postman Chrome extension, given Items
is a collection:
[ { "Items": [ { "sku": "9257", "Price": "100", "Quantity": "500", "DiscountPercent": "1", "backordered": "2" } ],
"order_id": "F429768865001",
"status_code": "Shelf",
"Exception": "no error"
}
]
Json Solutions
Solution 1 - Json
Send it as raw data and set the type to application/json
Solution 2 - Json
To post a nested object with the key-value interface you can use a similar method to sending arrays. Pass an object key in square brackets after the object index.
"Items": [
{
"sku": "9257",
"Price": "100"
}
]
Solution 3 - Json
Solution 4 - Json
This is a combination of the above, because I had to read several posts to understand.
- In the Headers, add the following key-values:
Content-Type
toapplication/json
- and
Accept
toapplication/json
- In the Body:
- change the type to "raw"
- confirm "JSON (application/json)" is the text type
- put the nested property there:
{ "Obj1" : { "key1" : "val1" } }
Hope this helps!
Solution 5 - Json
The key-value pair can take advanced inputs.
Ex.
Solution 6 - Json
Simply add these parameters :
In the header option of the request, add Content-Type:application/json
and in the body, select Raw format and put your json params like {'guid':'61791957-81A3-4264-8F32-49BCFB4544D8'}
I've found the solution on http://www.iminfo.in/post/post-json-postman-rest-client-chrome
Solution 7 - Json
Select the body tab and select application/json in the Content-Type drop-down and add a body like this:
{
"Username":"ABC",
"Password":"ABC"
}
Solution 8 - Json
Just wanted to add one more problem that some people might find on top of all the other answers. Sending JSON object using RAW data and setting the type to application/json
is what is to be done as has been mentioned above.
Even though I had done so, I got error in the POSTMAN request, it was because I accidentally forgot to create a default constructor for both child class.
Say if I had to send a JSON of format:
{
"firstname" : "John",
"lastname" : "Doe",
"book":{
"name":"Some Book",
"price":12.2
}
}
Then just make sure you create a default constructor for Book class.
I know this is a simple and uncommon error, but did certainly help me.
Solution 9 - Json
Best way to do that:
-
In the Headers, add the following key-values:
Content-Type to applications/json Accept to applications/json
-
Under body, click
raw
and dropdown type toapplication/json
Also PFA for the same
Solution 10 - Json
For a nested Json(example below), you can form a query using postman as shown below.
{
"Items": {
"sku": "10 Units",
"Price": "20 Rs"
},
"Characteristics": {
"color": "blue",
"weight": "2 lb"
}
}
Solution 11 - Json
Just for those who want to send a nested JSON object with form-data as content type.
I want to send nested custom_field in below
{ "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]"] }
Solution 12 - Json
We can send nested JSON like the following format
address[city]
address[state]
Solution 13 - Json
In the Params I have added model.Email and model.Password, work for me well. Thanks for the question. I tried the same thing in headers did not work. But it worked on Body with form-data and x-www-form-urlencoded.
Postman version 6.4.4