Rumah >Java >javaTutorial >Bagaimana untuk Mengambil Data JSON POST daripada HttpServletRequest?

Bagaimana untuk Mengambil Data JSON POST daripada HttpServletRequest?

Linda Hamilton
Linda Hamiltonasal
2024-12-13 17:54:11845semak imbas

How to Retrieve JSON POST Data from an HttpServletRequest?

Mengambil semula Data JSON POST daripada HttpServletRequest

Apabila melakukan permintaan HTTP POST dengan data berkod JSON, adalah penting untuk memahami perbezaan data pengekodan berbanding dengan penyerahan borang HTML standard. Dalam kes ini, data POST tidak boleh diakses secara automatik melalui kaedah HttpServletRequest.getParameter().

Untuk mendapatkan semula data JSON POST, anda perlu menggunakan penyahkod tersuai yang boleh memproses aliran data mentah yang diperoleh daripada HttpServletRequest. 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...
}

Kod ini membaca data JSON mentah daripada permintaan, menghuraikannya ke dalam JSONObject dan menyediakan akses kepada data dalam objek. Anda kemudiannya boleh berinteraksi dengan data JSON seperti yang diperlukan, mengekstrak parameter dan nilai yang anda perlukan.

Perhatikan bahawa pendekatan ini diperlukan apabila menggunakan data POST yang dikodkan JSON dan bukannya "application/x-www-form" tradisional -urlencoded" pengekodan yang digunakan dalam borang HTML standard. Dengan menggunakan penyahkod tersuai, anda boleh mendapatkan dan memproses data JSON dengan cekap dalam aplikasi Servlet anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengambil 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