java 获取request中json数据

这篇具有很好参考价值的文章主要介绍了java 获取request中json数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

功能简介:

        Java 从 HttpServletRequest 中获取前端传输过来的json数据

效果展示:

request.json,java,json,servlet

请求示例:

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)
@ResponseBody
public 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)
@ResponseBody
public 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<String> 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://www.toymoban.com/news/detail-654478.html

到了这里,关于java 获取request中json数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java Web 项目入门指南(http、Servlet、Request、Response、ServletContext、会话技术[cookie、session]、Filter、Listener)

    web 服务器 :可以被浏览器访问到的服务器 常见的 web 服务器: tomcat:中小型的服务器软件,免费开源,支持 JSP 和 Servlet apache 公司的产品 WebLogic:Oracle 公司的产品,是目前应用最广泛的 Web 服务器,支持 J2EE 规范。WebLogic 是用于开发、集成、部署和管理大型分布式 Web 应用

    2024年02月02日
    浏览(81)
  • Failed to parse multipart servlet request; nested exception is java.io.IOException,文件上传异常的问题如何解决

    背景: 有时候我们上传文件时会遇到这种报错, \\\"Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [C:\\\\Users\\\\XXXX\\\\AppData\\\\Local\\\\Temp\\\\tomcat.2460390372185321891.8082\\\\work\\\\Tomcat\\\\localhost\\\\ROOT] is not valid\\\"。 导致上传文件失败。 原因: 这种问题出现的原

    2024年02月03日
    浏览(44)
  • java获取request请求头内容

    注意一下 request 和 httpServletRequest 的类型

    2024年02月12日
    浏览(45)
  • 【Java 进阶篇】Java Request 获取请求参数的通用方式详解

    在Java Web开发中,获取HTTP请求的参数是一项基本任务。请求参数可以包含在URL中,也可以包含在请求体中,例如表单提交时的参数。在Java中,可以使用 HttpServletRequest 对象来获取HTTP请求的参数。本文将详细解释如何使用Java获取HTTP请求的参数,包括通用的方式以及示例代码。

    2024年02月05日
    浏览(43)
  • 【头歌】——数据分析与实践-python-网络爬虫-Scrapy爬虫基础-网页数据解析-requests 爬虫-JSON基础

    第1关 爬取网页的表格信息 第2关 爬取表格中指定单元格的信息 第3关 将单元格的信息保存到列表并排序 第4关 爬取div标签的信息 第5关 爬取单页多个div标签的信息 第6关 爬取多个网页的多个div标签的信息 第1关 Scarpy安装与项目创建 第2关 Scrapy核心原理 第1关 XPath解析网页 第

    2024年01月22日
    浏览(59)
  • Servlet-Request

    一、预览 在上一篇Servlet体系结构中,我们初步了解了怎么快速本篇将介绍Servlet中请求Request的相关内容,包括Request的体系结构,Request常用API。 二、Request体系结构 我们注意到我们定义的Servlet类若实现Servlet接口时,请求参数是ServletRequest类型的,若继承HttpServlet抽象类时,请

    2024年02月02日
    浏览(35)
  • requests库post请求参数data、json和files的使用,postman的各种数据格式

    application/x-www-form-urlencoded 和 application/json 是两种不同的 HTTP 请求体格式,它们在 Python 中的处理方式也不同。 application/x-www-form-urlencoded 是 Web 表单默认的提交方法,浏览器会将表单数据编码为 key-value 键值对,并将其放在请求体中。该格式数据可以通过 Python 中的标准库 url

    2024年02月16日
    浏览(67)
  • nginx反代后java的request.getScheme获取不到https的解决办法

    在实际应用中,经常会用到nginx反向代理应用,这中就会出现一中情况,访问https页面Java 通过request.getScheme()获取不到https协议,或者response.sendRedirect重定向是http,而不是我们想要的https。 经过反代后,协议信息没有转发到后端,或者后端没有设置protocolHeader 需要在nginx的配置

    2024年02月12日
    浏览(37)
  • 06-HTTP-Request获取请求头数据方法

    1、getHeader()方法用于获取指定名称的HTTP请求头的值。 getHeader()方法的参数为一个字符串,表示要获取的HTTP请求头的名称。方法返回一个字符串,表示该HTTP请求头的值。如果指定名称的HTTP请求头不存在,则返回null。 常见的HTTP请求头有: Accept:指定客户端可以接受哪些类型

    2024年02月16日
    浏览(46)
  • Ajax 获取 JSON数据

    Ajax 全称“Asynchronous JavaScript and XML”,译为“异步 JavaScript 和 XML”,程序员们习惯称之为“阿贾克斯”,通过 Ajax 我们可以异步在服务器与客户端之间传递数据。在 Ajax 中,普遍使用 JSON 作为传输数据的格式。 一般情况下,我们可以通过 JavaScript 来发送 Ajax 请求,并接收响

    2023年04月12日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包