SpringMVC轻松处理JSON数据

json

springmvc 默认使用jackson作为json类库,不需要修改applicationContext-servlet.xml任何配置,只需引入以下类库springmvc就可以处理json数据:

java 复制代码
<!--spring-json依赖-->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.0</version>
</dependency>

在java当

  • @RequestBody:作用是接收前端ajax传递给后端的json字符串,并将json格式的数据转为java对象

  • @ResponseBody:作用是将java对象转为json格式的数据传递给前台ajax

在javad

对象是 name = 王二, age = 15

在xml 中 <name > 王二</name> <age>15<age>

json 识别的对象是{ name= 王二,age =15}

如何接受json传输的数据或者如何json发送数据

接受json传递的参数

首先需要有实体类接收参数使用 @RestController接受参数

java 复制代码
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

// 1. 定义与JSON结构匹配的实体类(和之前的User类一致)
class User {
    private String name;
    private Integer age;
    
    // 必须有:无参构造、getter/setter
    public User() {}
    // getter/setter 省略,需手动补充
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public Integer getAge() { return age; }
    public void setAge(Integer age) { this.age = age; }
}

// 2. 编写接口接收JSON参数
@RestController
public class UserController {
    /**
     * 接收JSON参数:{"name":"王二","age":15}
     * @RequestBody 注解:将请求体的JSON字符串解析为User对象
     */
    @PostMapping("/user")
    public String receiveJson(@RequestBody User user) {
        // 直接使用解析后的对象属性
        String result = "接收的参数:name=" + user.getName() + ", age=" + user.getAge();
        return result;
    }
}

同类传递json的参数

java 复制代码
import org.springframework.web.client.RestTemplate;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonSender {
    public static void main(String[] args) {
        // 1. 初始化要传递的对象
        User user = new User("王二", 15);
        
        // 2. 创建RestTemplate(Spring环境可直接注入)
        RestTemplate restTemplate = new RestTemplate();
        
        // 3. 发送POST请求,自动将对象转为JSON
        String url = "http://localhost:8080/user"; // 目标接口地址
        String response = restTemplate.postForObject(url, user, String.class);
        
        System.out.println("调用结果:" + response);
    }
}

eg

相关推荐
段一凡-华北理工大学19 小时前
2026 高炉炼铁智能化技术全景与演进路径~系列文章11:演进路径与行业未来
大数据·网络·人工智能·算法·工业智能体·高炉炼铁智能化
狒狒热知识20 小时前
合规筑基专业赋能178软文网引领软文营销行业规范化发展
大数据
ZGi.ai21 小时前
企业AI资产管理体系:提示词、工作流、知识库应该怎么管
大数据·知识库·工作流编排·ai资产·提示词管理
爱分享的康康1 天前
低成本自动驾驶数据采集设备理性分析:康谋入门套装适配性解析
大数据·人工智能
程序鉴定师1 天前
上海小程序开发的坚实保障与行业优势解析
大数据·小程序
Elastic 中国社区官方博客1 天前
我们如何在 Elasticsearch Serverless 上将向量搜索吞吐量提升一倍
大数据·数据库·人工智能·elasticsearch·搜索引擎·云原生·serverless
zgl_200537791 天前
源代码:跨数据库通用SQL语法解析与标注拆解
大数据·数据库·数据仓库·sql·etl·源代码管理
Ajie'Blog1 天前
Claude 大模型深度评测:从参数架构到实战边界
大数据·人工智能·架构
暴躁小师兄数据学院1 天前
【AI大数据工程师特训笔记】第13讲:数据库性能手术刀
大数据·数据库·数据仓库·sql·postgresql
无忧智库1 天前
车路云一体化复杂交通博弈多智能体系统可行性研究报告(WORD)
大数据·人工智能·自动化