Tukang pos: mengirim objek JSON bersarang

153

Saya menggunakan ASP.NET Web API: http://xyzdomain.com:16845/api/returns/returns

Bagaimana cara mengirim permintaan POST ke titik akhir menggunakan ekstensi Chrome Tukang Pos, yang diberikan Itemsadalah koleksi:

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

Jawaban:

175

Kirim sebagai data mentah dan setel ke application/json

masukkan deskripsi gambar di sini

standup75
sumber
3
apa yang sebenarnya terjadi ketika data ini dikirim sebagai mentah? Di mana dan bagaimana ini disimpan dalam permintaan?
Anthony To
Saya akan menggunakan proxy web untuk melihat itu jika Anda penasaran (misalnya: pemain biola di Windows, charles proxy di mac)
standup75
1
Bagaimana cara menambahkan file gambar dalam permintaan JSON mentah?
Shikhar varshney
Ya bagaimana kita menambahkan / mengunggah gambar dengan permintaan JSON mentah. @Shikharvarshney Apakah Anda menemukan cara yang lebih baik?
Shahabaz
113

Untuk memposting objek bersarang dengan antarmuka kunci-nilai, Anda dapat menggunakan metode serupa untuk mengirim array. Berikan kunci objek dalam tanda kurung setelah indeks objek.

Melewati item bersarang dengan Tukang Pos

"Items": [
      {
        "sku": "9257",
        "Price": "100"
      }
 ]
Peyotle
sumber
8
Ini adalah jawaban terbaik menurut pendapat saya yang sederhana ... Yang paling mudah dan paling mudah dikelola.
AturSams
2
Inilah yang saya cari, hanya saja saya harus menulis Item [sku] bukan Items [0] [sku]
grom
7
Dalam kasus saya, saya memiliki objek bersarang yang disebut lokasi dengan kota, negara bagian dan negara di dalamnya. Saya harus menulis location.city, location.state, dll.
Aafreen Sheikh
36

Saya berhasil menggunakan opsi data mentah di tukang pos, seperti yang Anda lihat di screenshot

masukkan deskripsi gambar di sini

ImranNaqvi
sumber
Ini sempurna
Sachin Pakale
Ini sempurna
dvn
27

Ini adalah kombinasi dari yang di atas, karena saya harus membaca beberapa posting untuk mengerti.

  1. Di Headers , tambahkan nilai kunci berikut:
    1. Content-Type untuk application/json
    2. dan Acceptuntukapplication/json

masukkan deskripsi gambar di sini

  1. Di dalam Tubuh :
    1. ubah jenis menjadi "mentah"
    2. konfirmasi "JSON (application / json)" adalah jenis teks
    3. letakkan properti bersarang di sana: { "Obj1" : { "key1" : "val1" } }

masukkan deskripsi gambar di sini

Semoga ini membantu!

TBirkulosis
sumber
3
Seharusnya application/json, tidakapplications
NoobTW
@TBirkulosis: Dengan pendekatan Anda, Json tidak akan dikirim bersama Header
Arpan
26

Pasangan nilai kunci dapat mengambil input tingkat lanjut.

Ex.

masukkan deskripsi gambar di sini

aefhm
sumber
1
Terima kasih banyak, saya pikir ini akan ada di sana tetapi saya mencoba dot annotation. Ini tentu jawaban yang benar
Jack Franzen
23

Cukup tambahkan parameter ini: Di opsi tajuk permintaan, tambahkanContent-Type:application/json

header tipe konten tukang pos json

dan di badan , pilih format Raw dan masukkan json param Anda{'guid':'61791957-81A3-4264-8F32-49BCFB4544D8'}

json meminta tukang pos

Saya telah menemukan solusinya di http://www.iminfo.in/post/post-json-postman-rest-client-chrome

Ema.H
sumber
9

Pilih tab tubuh dan pilih aplikasi / json di drop-down Content-Type dan tambahkan tubuh seperti ini:

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

masukkan deskripsi gambar di sini

Suraj Kshirsagar
sumber
7

Hanya ingin menambahkan satu masalah lagi yang mungkin ditemukan beberapa orang di atas semua jawaban lainnya. Mengirim objek JSON menggunakan data RAW dan mengatur tipe ke application/jsonadalah apa yang harus dilakukan seperti yang telah disebutkan di atas.

Meskipun saya telah melakukannya, saya mendapat kesalahan dalam permintaan POSTMAN, itu karena saya tidak sengaja lupa membuat konstruktor default untuk kedua kelas anak.

Katakan jika saya harus mengirim JSON format:

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

Kemudian pastikan Anda membuat konstruktor default untuk kelas Buku.

Saya tahu ini adalah kesalahan yang sederhana dan tidak biasa, tetapi tentu saja membantu saya.

bhanushrestha
sumber
5

Cara terbaik untuk melakukannya:

  1. Di Headers, tambahkan nilai kunci berikut:

    Content-Type to applications/json
    Accept to applications/json
  2. Di bawah tubuh, klik rawdan ketik dropdown keapplication/json

Juga PFA untuk hal yang sama

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

techyaura
sumber
4

Untuk Json bersarang (contoh di bawah), Anda dapat membentuk kueri menggunakan tukang pos seperti yang ditunjukkan di bawah ini.

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

masukkan deskripsi gambar di sini

Arpan
sumber
1

Dalam Params saya telah menambahkan model.Email dan model.Password, bekerja untuk saya dengan baik. Terima kasih untuk pertanyaannya. Saya mencoba hal yang sama di header tidak berhasil. Tapi itu bekerja pada Body dengan form-data dan x-www-form-urlencoded.

Tukang pos versi 6.4.4

masukkan deskripsi gambar di sini

Kapila Perera
sumber
1

kami dapat mengirim json bersarang seperti format berikut

address [city] address [state]

Atchutha rama reddy Karri
sumber
1

Hanya untuk mereka yang ingin mengirim objek JSON bersarang dengan formulir-data sebagai tipe konten.

Saya ingin mengirim custom_field bersarang di bawah { "description": "Details about the issue...", "subject": "Support Needed...", "type": "Others", "email": "[email protected]", "priority": 1, "status": 2, **"custom_fields" : { "cf_type_of_issue" : "Complaint" }**, "cc_emails": ["[email protected]","[email protected]"] }

masukkan deskripsi gambar di sini

Muhammad Maqsood
sumber