json字符串转换对象或列表,多了字段不会报错

//DEMO1 转换对象 应用 riskId
public class Item {
private String id;
private String rate; public Item(String id, String rate) {
this.id = id;
this.rate = rate;
} @Override
public String toString() {
return "Item{" +
"id='" + id + '\'' +
", rate='" + rate + '\'' +
'}';
} public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public String getRate() {
return rate;
} public void setRate(String rate) {
this.rate = rate;
}
} Gson gson = new GsonBuilder().registerTypeAdapter(LocalDateTime.class, (JsonDeserializer<LocalDateTime>) (json, type, jsonDeserializationContext) ->
LocalDateTime.parse(json.getAsJsonPrimitive().getAsString(), DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss")))
.registerTypeAdapter(LocalDate.class, (JsonDeserializer<LocalDate>) (json, type, jsonDeserializationContext) ->
LocalDate.parse(json.getAsJsonPrimitive().getAsString(), DateTimeFormatter.ofPattern("yyyy-MM-dd"))).create(); //测试riskId
String sss = "{\"id\":\"40\",\"rate\":\"1000\",\"riskId\":\"560000\"}";
Item test2 = JSON.parseObject(sss,Item.class);
System.out.println("test2=" + test2.toString()); Item carInfo = gson.fromJson(sss, Item.class);
System.out.println("carInfo=" + carInfo.toString());

//测试结果:如果是json字符串多了字段,在映射转换对象的时候,不会报错。

output:
test2=Item{id='40', rate='1000'}
carInfo=Item{id='40', rate='1000'}

// DEMO2 转换列表
List<Item> configList = new ArrayList<>();
configList.add(new Item("1","100"));
configList.add(new Item("2","100"));
configList.add(new Item("3","100"));
configList.add(new Item("4","100")); String json = JSON.toJSONString(configList);
System.out.println(json); List<Item> configList2 = JSON.parseArray(json,Item.class);
for (Item item : configList2) {
System.out.println(GsonUtils.toJson(item));
}

output:
{"id":"1","rate":"100"}
{"id":"2","rate":"100"}
{"id":"3","rate":"100"}
{"id":"4","rate":"100"}

json字符串转换对象或列表,多了字段不会报错的更多相关文章

  1. json字符串转换对象的方法1

    为了方便读者了解json的使用,读者直接粘贴下面代码看效果即可: var json1 = {'name':'小李','age':'11','sex':'女'};console.log(json1.na ...

  2. json字符串转换对象的方法

    为了方便读者了解json的使用,读者直接粘贴下面代码看效果即可: var json1 = {'name':'小李','age':'11','sex':'女'}; console.log(json1.n ...

  3. json 字符串转换成对象,对象转换成json字符串

    json   字符串转换成对象,对象转换成json字符串 前端: 方法一: parseJSON方法:   [注意jquery版本问题] var str = '{"name":&qu ...

  4. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值

    一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想的数据交换格式. 同时,json是jav ...

  5. 特殊字符导致json字符串转换成json对象出错

    在对数据库取出来的数据(特别是描述信息)里面含有特殊字符的话,使用JSON.parse将json字符串转换成json对象的时候会出错,主要是双引号,回车换行等影响明显,左尖括号和右尖括号也会导致显示问 ...

  6. JSON字符串转换成对象时候 需要有默认构造器 因为这是通过反射创建的 反射是先通过默认构造器创建对象的

    JSON字符串转换成对象时候 需要有默认构造器 因为这是通过反射创建的 反射是先通过默认构造器创建对象的

  7. 转换成json字符串,与json字符串转换成java类型都要先转换成json对象

    转换成json字符串,与json字符串转换成java类型都要先转换成json对象

  8. java 字符串转json,json转实体对象、json字符串转换成List、List转String、以及List排序等等...

    @RequestMapping(value = "updateInvestorApplyAccountNo", method = RequestMethod.POST) @Resp ...

  9. JavaScript:将key和value不带双引号的JSON字符串转换成JSON对象的方法

    遇到相关的问题,花了两天的时间来解决,深感来之不易,所以做如下的总结,希望遇到此问题的码农能更快的找到解决办法! var jsonArr= [{col:TO_CHAR(HZRQ,'YYYYMM'),t ...

  10. 小程序跳坑之JSON字符串转换JSON对象

    常见的JSON字符串转换有很多,这里只讲我遇到过的小程序中用到的转换. 通常我们在小程序中用到的地方是,请求一个数据表或者请求一个接口,拿到了一堆数据,里面包含有各种字段数组,头像,图片,详情,地址, ...

随机推荐

  1. 【CDS技术揭秘系列 01】阿里云CDS-OSS容灾大揭秘

    ​简介: 本文主要阐述 CDS 产品中 OSS 服务在容灾方面的部署形态以及实现的其本原理. 容灾功能可以保证用户一份数据在多个地方存在冗余备份,当某个机房出现极端异常(比如物理损毁)情况下,数据也不 ...

  2. k8s问题解决

    问题1: 问题描述:k8s中Terminating状态pod不能删除 [root@master ~]# kubectl get pods -n ms NAME READY STATUS RESTART ...

  3. 使用NSSM将.exe程序安装成windows服务

    1.下载NSSM:NSSM - the Non-Sucking Service Manager 2.cmd方式安装服务 将下载的压缩包解压,找到nssm.exe,以管理员身份打开cmd,在cmd中定位 ...

  4. 解决:Failed to get D-Bus connection: Operation not permitted

    docker中安装完httpd服务后,使用命令systemctl start httpd.service,发现报错,错误信息:Failed to get D-Bus connection: Opera ...

  5. go-admin 视频教程

    https://cloud.189.cn/t/6JJ3uqreqyai (访问码:2xn5) 感谢 熊猫 同学 整理 失效了可以去B站看 https://www.bilibili.com/video/ ...

  6. SpringBoot连接redis报错:exception is io.lettuce.core.RedisException: java.io.IOException: 远程主机强迫关闭了一个现有的连接

    一.解决思路 (1).检查redis的配置是否正确 spring redis: host: localhost port: 6379 password: 123456 database: 0 time ...

  7. nim 7. nimble--制作包

    1. nim的包管理工具: nimble nim的包管理工具,是nimble. 在安装nim的时候,已经自带了nimble. nible通常需要使用git服务器存储包,因此,本地需要git命令的支持. ...

  8. AnaTraf 网络万用表流量分析教程系列 | AnaTraf 网络万用表 B 站频道

    为了更好的向大家分享如何使用 AnaTraf 网络万用表进行网络流量分析.网络故障排除,AnaTraf 开通了 B 站频道. 在 B 站上,将以视频的形式向大家介绍如何使用 AnaTraf 网络万用表 ...

  9. dpkg和rpm对比及常用命令

    dpkg(Debian Package)和rpm(RPM Package Manager)是两种不同的Linux包管理工具,它们各自在特定的Linux发行版中占据核心地位.两者之间对比如下: 所属发行 ...

  10. Django中模型类的定义

    1.模型文件以及继承的类 2.ORM对应关系 一个class类,对应数据库一个表 一个class属性,对应一个字段 一个实例对象,对应一条数据记录 3.主键 可以自己定义主键列,如果自己不定义主键的话 ...