【问题标题】:Postman: sending nested JSON object邮递员:发送嵌套的 JSON 对象
【发布时间】:2014-12-29 14:38:16
【问题描述】:

我正在使用 ASP.NET Web API:http://xyzdomain.com:16845/api/returns/returns

如果Items 是一个集合,我如何使用 Postman Chrome 扩展向端点发送 POST 请求:

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

【问题讨论】:

    标签: json google-chrome asp.net-web-api postman


    【解决方案1】:

    将其作为原始数据发送并设置类型为application/json

    【讨论】:

    • 当这些数据作为原始数据发送时实际发生了什么?它在请求中存储在哪里以及如何存储?
    • 如果您好奇,我会使用网络代理来查看(例如:Windows 上的 fiddler,mac 上的 charles 代理)
    • 如何在原始 JSON 请求中添加图像文件?
    • 是的,我们如何使用原始 JSON 请求添加/上传图像。 @Shikharvarshney 你找到更好的方法了吗?
    • 救命稻草...谢谢!!使用 Ruby on Rails,之前的代码在父级 ActionController::Parameters 中嵌套了 ActionController::Parameters。我花了几个小时才弄清楚,在 Postman 中,它是:Body > Raw > JSON,而不是 Params 中的 JSON。
    【解决方案2】:

    要使用键值接口发布嵌套对象,您可以使用与发送数组类似的方法。 在对象索引后的方括号中传递对象键。

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

    【讨论】:

    • 这是我拙见的最佳答案......最简单和最易于管理。
    • 这就是我要找的,只是我必须写 Items[sku] 而不是 Items[0][sku]
    • 就我而言,我有一个名为 location 的嵌套对象,其中包含城市、州和国家/地区。我不得不写 location.city、location.state 等。
    【解决方案3】:

    正如您在屏幕截图中看到的那样,我使用邮递员中的原始数据选项使其工作

    【讨论】:

    • 这是完美的
    • 这是完美的
    • 这究竟是在哪里处理嵌套数据场景?这只是正在发送的非嵌套数据
    【解决方案4】:

    这是上面的综合,因为我看了好几篇帖子才明白。

    1. Headers 中,添加以下键值:
      1. Content-Typeapplication/json
      2. Acceptapplication/json

    1. 正文中:
      1. 将类型更改为“原始”
      2. 确认“JSON (application/json)”为文本类型
      3. 将嵌套属性放在那里:{ "Obj1" : { "key1" : "val1" } }

    希望这会有所帮助!

    【讨论】:

    • 应该是application/json,而不是applications
    • @TBirkulosis : 用你的方法,Json 不会和 Header 一起发送
    【解决方案5】:

    键值对可以接受高级输入。

    例如

    【讨论】:

    • 非常感谢,我想这会在那里,但我正在尝试点注释。这肯定是正确的答案
    【解决方案6】:

    只需添加这些参数: 在请求的header选项中,添加Content-Type:application/json

    body 中,选择 Raw 格式并输入您的 json 参数,例如 {'guid':'61791957-81A3-4264-8F32-49BCFB4544D8'}

    我在http://www.iminfo.in/post/post-json-postman-rest-client-chrome找到了解决方案

    【讨论】:

      【解决方案7】:

      选择 body 选项卡并在 Content-Type 下拉菜单中选择 application/json 并添加如下正文:

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

      【讨论】:

        【解决方案8】:

        只是想再添加一个问题,有些人可能会在所有其他答案之上找到它。如上所述,使用 RAW 数据发送 JSON 对象并将类型设置为 application/json

        即使我这样做了,我在 POSTMAN 请求中也遇到了错误,这是因为我不小心忘记为两个子类创建默认构造函数。

        假设我必须发送格式为 JSON:

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

        然后确保为 Book 类创建一个默认构造函数。

        我知道这是一个简单且不常见的错误,但确实对我有所帮助。

        【讨论】:

          【解决方案9】:

          最好的方法:

          1. 在标题中,添加以下键值:

            Content-Type to applications/json
            Accept to applications/json
            
          2. 在正文下,点击raw,下拉类型为application/json

          同样也是 PFA

          【讨论】:

            【解决方案10】:

            对于嵌套的 Json(如下示例),您可以使用 postman 形成查询,如下所示。

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

            【讨论】:

              【解决方案11】:

              仅适用于那些想要发送带有表单数据作为内容类型的嵌套 JSON 对象的人。

              我想在下面发送嵌套的 custom_field { "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"] }

              【讨论】:

                【解决方案12】:

                我们可以发送如下格式的嵌套 JSON

                address[city]
                address[state]
                

                【讨论】:

                • 您似乎将 JSON 与扩展应用程序/x-www-form-urlencoded 混淆了
                【解决方案13】:

                在 Params 中,我添加了 model.Email 和 model.Password,对我来说很好用。谢谢你的问题。我在标题中尝试了同样的事情没有奏效。但它适用于带有 form-data 和 x-www-form-urlencoded 的 Body。

                邮递员版本 6.4.4

                【讨论】:

                  【解决方案14】:

                  如果你想通过 GET 将它作为 key-value Query Param 发送,你可以将你的 json 作为 value 粘贴到 inputtext 中,然后选择这个文本,右键单击它并单击 “EncodeUriComponent”

                  【讨论】:

                    猜你喜欢
                    • 2017-08-17
                    • 2016-12-28
                    • 2021-05-19
                    • 2017-06-23
                    • 2019-05-13
                    • 1970-01-01
                    • 1970-01-01
                    • 2019-10-16
                    • 2021-09-17
                    相关资源
                    最近更新 更多