java语法:后端接收json对象

一、接收json格式对象

复制代码
@RequestBody String jsonObject

二、如何将json转成实体类

fastjson依赖

复制代码
      <!-- 9.fastjson -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.47</version>
            </dependency>

Plan plan = planMapper.selectById("1778037071007543297");
String jsonPlan = JSON.toJSONString(plan);
Plan jsonObject = JSONObject.parseObject(jsonPlan,Plan.class);
if(plan.equals(jsonObject)){
    log.info("成果!");
}

其中

JSON.toJSONString(plan); 获取实体类的json字符串

JSONObject.parseObject(jsonPlan,Plan.class) 将json字符串转成指定的实体类

JSON.parseObject(jsonPlan,Plan.class) 将json字符串转成抽象的实体类 JSONObject

复制代码
复制代码
JSONObject object = JSON.parseObject(jsonObject);
int pageNo = object.getIntValue("pageNum");
int pageSize = object.getIntValue("pageSize");
String userId = object.getString("userId");

三、使用抽象实体类注意事项:

如果json中不包括某个字段(如name),而使用object.getString("name")就会报错

因此在get前需要判断一下

复制代码
if (student.containsKey("name")) {
    name= object.getString("name");
}
相关推荐
Hx_Ma161 小时前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode2 小时前
原子操作类LongAdder
java·开发语言
舟舟亢亢2 小时前
Java集合笔记总结
java·笔记
小酒窝.3 小时前
【多线程】多线程打印ABC
java
乡野码圣3 小时前
【RK3588 Android12】RCU机制
java·jvm·数据库
JAVA+C语言3 小时前
如何优化 Java 多主机通信的性能?
java·开发语言·php
编程彩机4 小时前
互联网大厂Java面试:从分布式架构到大数据场景解析
java·大数据·微服务·spark·kafka·分布式事务·分布式架构
小酒窝.5 小时前
【多线程】多线程打印1~100
java·多线程
君爱学习5 小时前
基于SpringBoot的选课调查系统
java
APIshop5 小时前
Java 实战:调用 item_search_tmall 按关键词搜索天猫商品
java·开发语言·数据库