Почтальон: отправка вложенного объекта 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"
  }
]
user3965303
источник

Ответы:

175

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

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

standup75
источник
3
что на самом деле происходит, когда эти данные отправляются как необработанные? Где и как это хранится в запросе?
Энтони До
Я бы использовал веб-прокси, чтобы посмотреть на это, если вам интересно (например: fiddler в Windows, charles proxy на mac)
standup75
1
Как добавить файл изображения в необработанный запрос JSON?
Шихар Варшней
Да, как мы можем добавить / загрузить изображение с необработанным JSON-запросом. @Shikharvarshney Вы нашли лучший способ?
Шахабаз
113

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

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

"Items": [
      {
        "sku": "9257",
        "Price": "100"
      }
 ]
Peyotle
источник
8
Это лучший ответ на мой скромный взгляд ... Самый простой и самый управляемый.
AturSams
2
Это то, что я искал, просто я должен был написать Items [sku] вместо Items [0] [sku]
grom
7
В моем случае у меня был вложенный объект с именем location, в котором находились город, штат и страна. Я должен был написать location.city, location.state и т. Д.
Aafreen Шейх
36

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

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

ImranNaqvi
источник
Это идеально
Sachin Pakale
Это идеально
DVR
27

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

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

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

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

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

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

TBirkulosis
источник
3
Должно быть application/json, нетapplications
NoobTW
@TBirkulosis: С вашим подходом, Json не будет отправлен с заголовком
Arpan
26

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

Ex.

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

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

Просто добавьте эти параметры: в заголовке запроса добавьтеContent-Type:application/json

заголовок контента типа почтальон json

и в теле , выберите Raw format и поместите ваши параметры JSON, как{'guid':'61791957-81A3-4264-8F32-49BCFB4544D8'}

JSON запрос почтальона

Я нашел решение на http://www.iminfo.in/post/post-json-postman-rest-client-chrome

Ema.H
источник
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.

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

bhanushrestha
источник
5

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

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

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

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

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

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

techyaura
источник
4

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

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

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

Arpan
источник
1

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

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

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

Капила Перера
источник
1

мы можем отправить вложенный JSON, как в следующем формате

адрес [город] адрес [штат]

Атчута рама редди карри
источник
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"] }

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

Мухаммед Максуд
источник