Rumah >Java >javaTutorial >Bagaimanakah Saya Mengakses Data JSON POST daripada HttpServletRequest?

Bagaimanakah Saya Mengakses Data JSON POST daripada HttpServletRequest?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-03 09:11:09710semak imbas

How Do I Access JSON POST Data from an HttpServletRequest?

Mengakses JSON POST Data dalam HttpServletRequest

Apabila bekerja dengan permintaan HTTP POST dalam servlet, mendapatkan semula data POST boleh mengelirukan jika data tersebut dikodkan dalam format JSON. Tidak seperti pasangan nilai kunci biasa, data JSON memerlukan penyahkod tersuai untuk memproses strim data mentah.

Untuk mengakses data JSON POST dalam HttpServletRequest, ikut langkah berikut:

1. Baca Strim Data Mentah:

BufferedReader reader = request.getReader();

Ini mendapatkan semula strim data JSON mentah yang dihantar oleh pelanggan.

2. Gunakan Penyahkod JSON:

Untuk menghuraikan data JSON, anda boleh menggunakan pustaka pihak ketiga seperti org.json. Berikut ialah contoh penyahkod:

JSONObject jsonObject = HTTP.toJSONObject(jb.toString());

3. Bekerja dengan Data JSON:

Setelah objek JSON dihuraikan, anda boleh mengakses sifatnya menggunakan kaedah seperti getInt(), getString(), dan sebagainya.

int someInt = jsonObject.getInt("intParamName");
String someString = jsonObject.getString("stringParamName");

Nota: Pendekatan ini hanya perlu apabila data POST dikodkan sebagai strim data JSON. Untuk pasangan nilai kunci yang dikodkan sebagai "application/x-www-form-urlencoded", anda boleh menggunakan kaedah request.getParameter() biasa.

Atas ialah kandungan terperinci Bagaimanakah Saya Mengakses Data JSON POST daripada HttpServletRequest?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn