Получение данных JSON POST из HttpservletRequest
При выполнении запроса на пост HTTP с помощью Form-Form-Form-Forml. В этом случае данные POST не доступны автоматически с помощью метода httpservletrequest.getParameter ().
, чтобы получить данные JSON POST, вам необходимо использовать пользовательский декодер, который может обрабатывать поток необработанных данных, полученный из httpservletrequest.getreader (). Вот пример, использующий org.json Package:
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... }
Этот код считывает данные RAW JSON из запроса, анализирует их в jsonObject и предоставляет доступ к данным в объекте. Затем вы можете взаимодействовать с данными JSON по мере необходимости, извлекая необходимые вам параметры и значения. Используя пользовательский декодер, вы можете эффективно извлечь и обработать данные JSON в вашем приложении Servlet.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3