Почтальон: отправка вложенного объекта 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.