Maison >Java >javaDidacticiel >Comment accéder aux données JSON POST dans un servlet à l'aide de HttpServletRequest ?
Accès aux données JSON POST dans HttpServletRequest
Lors d'une requête HTTP POST avec des données JSON dans le corps, la récupération des données de la requête peut être une tâche difficile. défi si la méthode traditionnelle getParameter est utilisée. En effet, getParameter ne fonctionne qu'avec des paires clé-valeur codées au format "application/x-www-form-urlencoded".
Cependant, pour les flux de données JSON, une approche personnalisée est nécessaire.
Décodeur personnalisé pour les données JSON
Pour accéder aux données JSON POST, vous devez utiliser BufferedReader pour traiter le flux de données brutes :
BufferedReader reader = request.getReader();
Exemple d'utilisation du package org.json
Vous trouverez ci-dessous un exemple qui utilise la populaire bibliothèque org.json pour décoder JSON Données POST :
@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"); } }
Ce code lit les données JSON et les convertit en un JSONObject pour traitement. Vous pouvez ensuite utiliser des méthodes telles que getInt, getString et getJSONArray pour extraire les données spécifiques dont vous avez besoin.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!