recuperando os dados do JSON POST de httpServletRequest
ao executar um http pós-solicitação com dados codificados por json, é essencial para entender a diferença nos dados que encobrigem o padrão de solicitação padrão. Nesse caso, os dados de postagem não são acessíveis automaticamente por meio do método httpServletRequest.getParameter (). Aqui está um exemplo usando o
org.jsonpackage: public void DoPost (httpServletRequest Solicy, httpServletResponse resposta) lança servletexception, ioexception { StringBuffer jb = new StringBuffer (); Linha de string = null; tentar { BUBLEREDRADER LEITER = request.getReader (); while ((line = reader.readline ())! = null) jb.append (linha); } catch (Exceção e) { /*Relatório um erro* /} tentar { JsonObject jsonObject = http.tojsonObject (jb.toString ()); } catch (jsonexception e) { // trava e queima lançar uma nova ioexception ("Erro analisando a String JSON Request"); } // trabalha com os dados usando métodos como ... // int someint = jsonObject.getInt ("intParamName"); // string somestring = jsonObject.getString ("StringParamName"); // jsonObject nestedObj = jsonObject.getjsonObject ("nestedObjName"); // jsonArray arr = jsonObject.getjsonArray ("ArrayParamname"); // etc ... }
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... }
Observe que essa abordagem é necessária ao usar dados de postagem codificados por JSON em vez dos tradicionais "Aplicativo/X-WWW-Formle-Form-Urlencoded" codificação usada nas formas HTML padrão. Ao utilizar um decodificador personalizado, você pode recuperar e processar com eficiência os dados JSON em seu aplicativo de servlet.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3