简体   繁体   中英

Postman: sending nested JSON object

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

Send it as raw data and set the type to application/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.

使用 Postman 传递嵌套项目

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

I got it working using the Raw data option in postman, as you can see in the screen shot

在此处输入图片说明

This is a combination of the above, because I had to read several posts to understand.

  1. In the Headers , add the following key-values:
    1. Content-Type to application/json
    2. and Accept to application/json

在此处输入图片说明

  1. In the Body :
    1. change the type to "raw"
    2. confirm "JSON (application/json)" is the text type
    3. put the nested property there: { "Obj1" : { "key1" : "val1" } }

在此处输入图片说明

Hope this helps!

The key-value pair can take advanced inputs.

Ex.

在此处输入图片说明

Simply add these parameters : In the header option of the request, add Content-Type:application/json

标题内容类型邮递员 json

and in the body , select Raw format and put your json params like {'guid':'61791957-81A3-4264-8F32-49BCFB4544D8'}

json 请求邮递员

I've found the solution on http://www.iminfo.in/post/post-json-postman-rest-client-chrome

Select the body tab and select application/json in the Content-Type drop-down and add a body like this:

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

在此处输入图片说明

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.

Best way to do that:

  1. In the Headers, add the following key-values:

     Content-Type to applications/json Accept to applications/json
  2. Under body, click raw and dropdown type to application/json

Also PFA for the same

在此处输入图片说明

在此处输入图片说明

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

在此处输入图片说明

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

在此处输入图片说明

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

在此处输入图片说明

we can send nested json like the following format

address[city] address[state]

If you want to send it as key-value Query Param via GET, you can paste your json in the inputtext as value, and then select this text, right click on it and click "EncodeUriComponent" :

在此处输入图片说明

If you want to post single nested dictionary lets say:

Wrong:

{

 parent_key: { child_key: child_value }

}

You need to convert it to:

Correct

{

 parent_key.child_key: child_value

}

And if you wanted to post list of dictionaries lets say:

Wrong:

{

 parent_key: [

    { child_key: child_value },
    { child_key: child_value_02 }
  ]

}

You need to convert it to:

Correct

{

 parent_key[0]child_key: child_value
 parent_key[1]child_key: child_value_02

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM