Postman: wysyłanie zagnieżdżonego obiektu JSON


153

Używam interfejsu API sieci Web ASP.NET: http://xyzdomain.com:16845/api/returns/returns

Jak wysłać żądanie POST do punktu końcowego przy użyciu rozszerzenia Postman Chrome, podana Itemsjest kolekcja:

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

Odpowiedzi:


175

Wyślij go jako surowe dane i ustaw typ na application/json

wprowadź opis obrazu tutaj


3
co się właściwie dzieje, gdy te dane są wysyłane jako surowe? Gdzie i jak jest przechowywany w żądaniu?
Anthony do


1
Jak dodać plik obrazu w surowym żądaniu JSON?
Shikhar varshney

Tak, jak możemy dodać / przesłać obraz z surowym żądaniem JSON. @Shikharvarshney Czy znalazłeś lepszy sposób?
Shahabaz

113

Aby opublikować zagnieżdżony obiekt za pomocą interfejsu klucz-wartość, możesz użyć podobnej metody do wysyłania tablic. Przekaż klucz obiektu w nawiasach kwadratowych po indeksie obiektu.

Przekazywanie zagnieżdżonego elementu za pomocą Postman

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

8
Moim skromnym zdaniem to najlepsza odpowiedź ... Najłatwiejsza i najbardziej wykonalna.
AturSams

2
To jest to, czego szukałem, tylko że musiałem napisać Items [sku] zamiast Items [0] [sku]
grom

7
W moim przypadku miałem zagnieżdżony obiekt zwany lokalizacją z miastem, stanem i krajem. Musiałem napisać location.city, location.state itp.
Aafreen Sheikh


27

Jest to połączenie powyższych, ponieważ musiałem przeczytać kilka postów, aby zrozumieć.

  1. W nagłówkach dodaj te pary klucz-wartość:
    1. Content-Type do application/json
    2. i Acceptdoapplication/json

wprowadź opis obrazu tutaj

  1. W ciele :
    1. zmień typ na „surowy”
    2. potwierdź „JSON (application / json)” to typ tekstu
    3. umieść tam zagnieżdżoną właściwość: { "Obj1" : { "key1" : "val1" } }

wprowadź opis obrazu tutaj

Mam nadzieję że to pomoże!


3
To powinno być application/json, a nieapplications
NoobTW

@TBirkulosis: Z twoim podejściem, Json nie zostanie wysłany z
nagłówkiem

26

Para klucz-wartość może przyjmować zaawansowane dane wejściowe.

Dawny.

wprowadź opis obrazu tutaj


1
Wielkie dzięki, pomyślałem, że to tam będzie, ale próbowałem dodać adnotację kropkową. To z pewnością poprawna odpowiedź
Jack Franzen


9

Wybierz ciała kartę i wybrać application / json w Content-Type rozwijanej i dodać ciało tak:

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

wprowadź opis obrazu tutaj


7

Chciałem tylko dodać jeszcze jeden problem, który niektórzy ludzie mogą znaleźć ponad wszystkimi innymi odpowiedziami. Wysłanie obiektu JSON przy użyciu danych RAW i ustawienie typu na application/jsonto co należy zrobić jak wspomniano powyżej.

Mimo że to zrobiłem, wystąpił błąd w żądaniu POSTMAN, ponieważ przypadkowo zapomniałem utworzyć domyślnego konstruktora dla obu klas podrzędnych.

Powiedz, czy mam wysłać JSON w formacie:

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

Następnie upewnij się, że utworzyłeś domyślny konstruktor dla klasy Book.

Wiem, że to prosty i rzadki błąd, ale z pewnością mi pomógł.


5

Najlepszy sposób na to:

  1. W nagłówkach dodaj te pary klucz-wartość:

    Content-Type to applications/json
    Accept to applications/json
  2. Pod treścią kliknij rawi wybierz opcjęapplication/json

Również PFA za to samo

wprowadź opis obrazu tutaj

wprowadź opis obrazu tutaj


4

W przypadku zagnieżdżonej biblioteki Json (przykład poniżej) można utworzyć zapytanie przy użyciu programu Postman, jak pokazano poniżej.

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

wprowadź opis obrazu tutaj


1

W Params dodałem model.Email i model.Password, działa na mnie dobrze. Dzięki za pytanie. Próbowałem tego samego w nagłówkach nie działa. Ale działało na Body z form-data i x-www-form-urlencoded.

Postman wersja 6.4.4

wprowadź opis obrazu tutaj



1

Tylko dla tych, którzy chcą wysłać zagnieżdżony obiekt JSON z danymi formularza jako typem zawartości.

Chcę wysłać zagnieżdżone custom_field poniżej { "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"] }

wprowadź opis obrazu tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.