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

Bagaimanakah Saya Mengakses Data JSON POST dalam HttpServletRequest?

Susan Sarandon
Lepaskan: 2024-12-25 20:44:10
asal
795 orang telah melayarinya

How Do I Access JSON POST Data in an HttpServletRequest?

Mengakses JSON POST Data dalam HttpServletRequest

Apabila HTTP POSTing data dalam format JSON ke servlet, adalah perlu untuk memahami pengekodan data berbeza yang terlibat . Secara lalai, servlet boleh mendapatkan semula parameter menggunakan request.getParameter(). Walau bagaimanapun, untuk data JSON, skema pengekodan standard "application/x-www-form-urlencoded" tidak digunakan.

Untuk mendapatkan semula data JSON POST, anda perlu menggunakan penyahkod tersuai yang memproses aliran data mentah daripada request.getReader(). Berikut ialah contoh menggunakan pakej org.json:

public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {

  StringBuffer jb = new StringBuffer();
  String line = null;
  try {
    BufferedReader reader = request.getReader();
    while ((line = reader.readLine()) != null)
      jb.append(line);
  } catch (Exception e) { /*report an error*/ }

  try {
    JSONObject jsonObject =  HTTP.toJSONObject(jb.toString());
  } catch (JSONException e) {
    // crash and burn
    throw new IOException("Error parsing JSON request string");
  }

  // Work with the data using methods like...
  // int someInt = jsonObject.getInt("intParamName");
  // String someString = jsonObject.getString("stringParamName");
  // JSONObject nestedObj = jsonObject.getJSONObject("nestedObjName");
  // JSONArray arr = jsonObject.getJSONArray("arrayParamName");
  // etc...
}
Salin selepas log masuk

Kod ini membaca aliran data JSON daripada permintaan, menghuraikannya menggunakan pakej org.json dan menyimpan hasilnya dalam JSONObject. Anda kemudiannya boleh mengakses parameter JSON menggunakan kaedah seperti jsonObject.getInt(), jsonObject.getString(), dan sebagainya.

Perhatikan bahawa pendekatan ini tidak terhad kepada data JSON. Anda boleh menggunakan teknik yang sama untuk memproses sebarang jenis data POST tersuai yang tidak dikodkan sebagai pasangan nilai kunci.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan