Heim > Java > javaLernprogramm > Wie greife ich mit HttpServletRequest auf JSON-POST-Daten in einem Servlet zu?

Wie greife ich mit HttpServletRequest auf JSON-POST-Daten in einem Servlet zu?

Mary-Kate Olsen
Freigeben: 2024-12-03 17:37:11
Original
645 Leute haben es durchsucht

How to Access JSON POST Data in a Servlet Using HttpServletRequest?

Zugriff auf JSON-POST-Daten in HttpServletRequest

Wenn Sie eine HTTP-POST-Anfrage mit JSON-Daten im Text stellen, kann das Abrufen der Anfragedaten ein Problem sein Herausforderung, wenn die traditionelle getParameter-Methode verwendet wird. Dies liegt daran, dass getParameter nur mit Schlüssel-Wert-Paaren funktioniert, die im Format „application/x-www-form-urlencoded“ codiert sind.

Für JSON-Datenströme ist jedoch ein benutzerdefinierter Ansatz erforderlich.

Benutzerdefinierter Decoder für JSON-Daten

Um auf die JSON-POST-Daten zuzugreifen, müssen Sie verwenden BufferedReader zum Verarbeiten des Rohdatenstroms:

BufferedReader reader = request.getReader();
Nach dem Login kopieren

Beispiel für die Verwendung des org.json-Pakets

Unten finden Sie ein Beispiel, das die beliebte org.json-Bibliothek zum Dekodieren von JSON verwendet POST-Daten:

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

  StringBuffer jb = new StringBuffer();
  String line = null;
  try {
    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");
  }
}
Nach dem Login kopieren

Dieser Code liest die JSON-Daten und wandelt sie zur weiteren Verarbeitung in ein JSONObject um Verarbeitung. Anschließend können Sie Methoden wie getInt, getString und getJSONArray verwenden, um die spezifischen Daten zu extrahieren, die Sie benötigen.

Das obige ist der detaillierte Inhalt vonWie greife ich mit HttpServletRequest auf JSON-POST-Daten in einem Servlet zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage