功能简介: Java 从 httpservletRequest 中获取前端传输过来的JSON数据 效果展示: 请求示例: post: 127.0.0.1:8081/getRequestjson {"messageHisto
功能简介:
Java 从 httpservletRequest 中获取前端传输过来的JSON数据
效果展示:
请求示例:
post: 127.0.0.1:8081/getRequestjson
{"messageHistory",[{"message":"123","time":"2023-03-22 10:00:00"}],"isContextChat":true}
代码示例:
@RequestMapping(value = "getRequestJson", method = RequestMethod.POST)@ResponseBodypublic String getRequestJson(HttpServletRequest request) throws IOException { StringBuilder buffer = new StringBuilder(); BufferedReader reader = request.getReader(); String line; while ((line = reader.readLine()) != null) { buffer.append(line); } String requestBody = buffer.toString(); System.out.println("--------> get request json is :" + requestBody);return requestBody;}
拓展:
import com.fasterxml.jackson.databind.Jsonnode;import com.fasterxml.jackson.databind.ObjectMapper;@RequestMapping(value = "getRequestJson", method = RequestMethod.POST)@ResponseBodypublic String getRequestJson(HttpServletRequest request) throws ioException {// 1. 从HttpServletRequest对象中获取输入流,并读取请求正文。StringBuilder buffer = new StringBuilder();BufferedReader reader = request.getReader();String line;while ((line = reader.readLine()) != null) {buffer.append(line);}String requestBody = buffer.toString();// 2. 使用JSON库(如Jackson、Gson等)将字符串解析为JsonNode或任何其他适合你的数据结构。ObjectMapper mapper = new ObjectMapper(); // Jackson JSON库示例JsonNode jsonNode = mapper.readTree(requestBody); // 解析为JsonNode对象// 3. 现在,你可以使用jsonNode对象来访问和操作JSON数据了。String name = jsonNode.get("name").asText();int age = jsonNode.get("age").asInt();// 遍历所有属性并打印它们的值:Iterator fieldNamesIter= jsonNode.fieldNames();while (fieldNamesIter.hasNext()){String fieldName=fieldNamesIter.next();JsonNode fieldValue=jsonNode.get(fieldName);System.out.println(fieldName+": "+fieldValue.asText());}System.out.println("--------> get request json is :" + requestBody);return requestBody;}
来源地址:https://blog.csdn.net/qq_36521848/article/details/129724974
--结束END--
本文标题: java 获取request中json数据
本文链接: https://www.lsjlt.com/news/407898.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-03
2024-04-03
2024-04-01
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0