Rumah >Java >javaTutorial >Bagaimana untuk Mengambil Data JSON POST daripada 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!