Почтальон: отправка вложенного объекта JSON


153

Я использую ASP.NET Web API: http://xyzdomain.com:16845/api/returns/returns

Как отправить POST-запрос на конечную точку с помощью расширения Postman Chrome, приведенного ниже Items:

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

Ответы:


175

Отправьте его как необработанные данные и установите тип application/json

введите описание изображения здесь


3
что на самом деле происходит, когда эти данные отправляются как необработанные? Где и как это хранится в запросе?
Энтони До

Я бы использовал веб-прокси, чтобы посмотреть на это, если вам интересно (например: fiddler в Windows, charles proxy на mac)
standup75

1
Как добавить файл изображения в необработанный запрос JSON?
Шихар Варшней

Да, как мы можем добавить / загрузить изображение с необработанным JSON-запросом. @Shikharvarshney Вы нашли лучший способ?
Шахабаз

113

Чтобы опубликовать вложенный объект с интерфейсом ключ-значение, вы можете использовать метод, аналогичный отправке массивов. Передайте ключ объекта в квадратных скобках после индекса объекта.

Передача вложенного предмета с почтальоном

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

8
Это лучший ответ на мой скромный взгляд ... Самый простой и самый управляемый.
AturSams

2
Это то, что я искал, просто я должен был написать Items [sku] вместо Items [0] [sku]
grom

7
В моем случае у меня был вложенный объект с именем location, в котором находились город, штат и страна. Я должен был написать location.city, location.state и т. Д.
Aafreen Шейх

36

Я получил его, используя опцию Raw data в почтальоне, как вы можете видеть на скриншоте

введите описание изображения здесь


Это идеально
Sachin Pakale

Это идеально
DVR

27

Это сочетание вышеперечисленного, потому что мне пришлось прочитать несколько постов, чтобы понять.

  1. В заголовках добавьте следующие значения ключа:
    1. Content-Type в application/json
    2. и Acceptкapplication/json

введите описание изображения здесь

  1. В теле :
    1. изменить тип на «сырой»
    2. подтвердить "JSON (приложение / JSON)" является типом текста
    3. поместите туда вложенное свойство: { "Obj1" : { "key1" : "val1" } }

введите описание изображения здесь

Надеюсь это поможет!


3
Должно быть application/json, нетapplications
NoobTW

@TBirkulosis: С вашим подходом, Json не будет отправлен с заголовком
Arpan

26

Пара ключ-значение может принимать расширенные входные данные.

Ex.

введите описание изображения здесь


1
Спасибо большое, я подумал, что это будет там, но я пытался точечно аннотировать. Это, безусловно, правильный ответ
Джек Франзен


9

Выберите вкладку body, выберите application / json в раскрывающемся меню Content-Type и добавьте тело следующим образом:

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

введите описание изображения здесь


7

Просто хотел добавить еще одну проблему, которую некоторые люди могут найти поверх всех остальных ответов. Отправка объекта JSON с использованием данных RAW и установка типа application/json- это то, что должно быть сделано, как уже упоминалось выше.

Несмотря на то, что я сделал это, я получил ошибку в запросе POSTMAN, потому что я случайно забыл создать конструктор по умолчанию для обоих дочерних классов.

Скажи, если мне нужно было отправить JSON формата:

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

Затем просто убедитесь, что вы создали конструктор по умолчанию для класса Book.

Я знаю, что это простая и необычная ошибка, но она, безусловно, помогла мне.


5

Лучший способ сделать это:

  1. В заголовках добавьте следующие значения ключа:

    Content-Type to applications/json
    Accept to applications/json
  2. Под телом нажмите rawи выберите типapplication/json

Также PFA для того же

введите описание изображения здесь

введите описание изображения здесь


4

Для вложенного Json (пример ниже) вы можете сформировать запрос, используя почтальон, как показано ниже.

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

введите описание изображения здесь


1

В Params я добавил модель. Электронная почта и модель. Пароль, у меня хорошо работает. Спасибо за вопрос. Я попробовал то же самое в заголовках не работает. Но он работал на Body с form-data и x-www-form-urlencoded.

Почтальон версия 6.4.4

введите описание изображения здесь



1

Просто для тех, кто хочет отправить вложенный объект 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"] }

введите описание изображения здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.