Листоноша: відправлення вкладеного об'єкта JSON


153

Я використовую веб-API ASP.NET: http://xyzdomain.com:16845/api/returns/returns

Як надіслати запит POST до кінцевої точки за допомогою розширення Chrome для Postman, дано 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
Це те, що я шукав, тільки що мені довелося написати пункти [sku] замість предметів [0] [sku]
grom

7
У моєму випадку у мене був вкладений об’єкт під назвою розташування з містом, державою та країною. Мені довелося написати location.city, location.state тощо
Aafreen Sheikh


27

Це поєднання сказаного, тому що мені довелося прочитати кілька дописів, щоб зрозуміти.

  1. У заголовках додайте такі ключові значення:
    1. Content-Type до application/json
    2. і Acceptдоapplication/json

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

  1. У тілі :
    1. змінити тип на "сирий"
    2. підтвердити "JSON (application / json)" - це тип тексту
    3. помістіть туди вкладене властивість: { "Obj1" : { "key1" : "val1" } }

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

Сподіваюся, це допомагає!


3
Має бути application/json, ніapplications
NoobTW

@TBirkulosis: З вашим підходом, Json не буде відправлений з Header
Арпан

26

Пара ключ-значення може приймати розширені введення.

Вих.

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


1
Дякую тонній людині, я подумав, що це буде там, але я намагався зазначити крапку. Це, безумовно, правильна відповідь
Джек Францен

23

Просто додайте ці параметри: У варіанті заголовка запиту додатиContent-Type:application/json

Вміст заголовка листоноша json

а в тілі виберіть формат Raw і поставте параметри json типу{'guid':'61791957-81A3-4264-8F32-49BCFB4544D8'}

json прохання листоноша

Я знайшов рішення на http://www.iminfo.in/post/post-json-postman-rest-client-chrome


9

Виберіть вкладку " Тіло" та виберіть додаток / json у спадному меню "Тип вмісту" та додайте такий текст:

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

У Парамах я додав модель. Електронна пошта та модель.Пасвор, добре працюй для мене. Дякую за запитання. Я спробував те саме, що в заголовках не вийшло. Але він працював на Body із формами 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.