测试json字符和java对象属性不一样在多个json框架下转换的表现
package com.longge.mytest; import java.io.IOException; import org.junit.Test; import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson; public class TestJson {
@Test
public void test() throws JsonParseException, JsonMappingException, IOException {
String str = "{\"id\": 1,\"updateBy\": \"zhufen_朱芬\"}";
// 使用fastjson,代码正常
TestDto dto = JSONObject.parseObject(str, TestDto.class);
System.out.println(dto.getId()); // 使用jackson,会抛出异常,因为updateBy在java对象里没这个属性
ObjectMapper mapper = new ObjectMapper();
try {
dto = mapper.readValue(str, TestDto.class);
System.out.println(dto.getId());
} catch (Exception e) {
System.out.println(e.getMessage());
} // 使用谷歌的gson,代码正常
Gson gson = new Gson();
try {
dto = gson.fromJson(str, TestDto.class);
System.out.println(dto.getId());
} catch (Exception e) {
System.out.println(e.getMessage());
}
} static class TestDto {
private Integer id; private String test; public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTest() {
return test;
}
public void setTest(String test) {
this.test = test;
}
}
}
运行结果:
1
Unrecognized field "updateBy" (class com.longge.mytest.TestJson$TestDto), not marked as ignorable (2 known properties: "test", "id"])
at [Source: {"id": 1,"updateBy": "zhufen_朱芬"}; line: 1, column: 23] (through reference chain: com.longge.mytest.TestJson$TestDto["updateBy"])
1
测试json字符和java对象属性不一样在多个json框架下转换的表现的更多相关文章
- json字符串转java对象,json中字段名称与对象属性名称不一致
json字符串转java对象,json字段名称与对象属性名称不一致可以在对象属性上添加注解@SerializedName解决
- Spring boot接受json赋值给java对象
Spring boot接受json赋值给java对象 新建 模板 小书匠 前言 写这个东西,一方面是我自己在做项目的时候,对json的使用还不是十分的熟悉,对spring boot的使用也不是很熟悉, ...
- JSON数据与Java对象的相互转换
JSON数据与Java对象的相互转换 JSON解析器 常见的解析器:Jsonlib .Gson. fastjson. jackson JSON转化为Java对象 使用步骤: 1.导入jackson的相 ...
- 利用JAVA反射机制将JSON数据转换成JAVA对象
net.sf.json.JSONObject为我们提供了toBean方法用来转换为JAVA对象, 功能更为强大, 这里借鉴采用JDK的反射机制, 作为简单的辅助工具使用, 有些数据类型需要进行转 ...
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换(转)
一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...
- json字符串与java对象的相互转换(jackson)
1.java对象转换为json字符串 package com.chichung.json; import com.fasterxml.jackson.core.JsonProcessingExcept ...
- Java中JSON字符串与java对象的互换实例详解
这篇文章主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JS ...
- json串到java对象
json串到java对象 前端传入参数json字符串,格式如下: {"语文":"88","数学":"78"," ...
随机推荐
- Minikube体验
本文的环境如下: 操作系统: Mac OSX EI Caption Docker:Docker version 18.03.1-ce, build 9ee9f40 Minikube:minikube ...
- 利用js实现 禁用浏览器后退 浏览器返回
现在很多的内部系统,一些界面,都是用户手动点击退出按钮的.但是为了避免,用户误操作 点击浏览器后退,或者用鼠标手势后退什么的.容易出现误操作. 所以在有些页面上,适当的禁用浏览器的后退, ...
- 洛谷 P1123 取数游戏
题目描述 一个N×M的由非负整数构成的数字矩阵,你需要在其中取出若干个数字,使得取出的任意两个数字不相邻(若一个数字在另外一个数字相邻8个格子中的一个即认为这两个数字相邻),求取出数字和最大是多少. ...
- [leetcode]Distinct Subsequences @ Python
原题地址:https://oj.leetcode.com/problems/distinct-subsequences/ 题意: Given a string S and a string T, co ...
- 细说Request与Request.Params
在ASP.NET编程中,有三个比较常见的来自于客户端的数据来源:QueryString, Form, Cookie .我们可以在HttpRequest中访问这三大对象,比如,可以从QueryStrin ...
- Springboot读取自定义配置文件的几种方法
一.读取核心配置文件 核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单. ...
- PHP入门(一)
一.概述 PHP(Hypertext Preprocessor缩写),全称超级文本预处理器,是一种在服务器端执行的脚本语言.因此既具备了脚本语言的优缺点 ,又具备了后台服务器语言的优异性能.可以说PH ...
- Redis2.2.2源码学习——Server&Client链接的建立以及相关Event
Redis中Server和User建立链接(图中的client是服务器端用于描述与客户端的链接相关的信息) Redis Server&Client链接的建立时相关Event的建立(图中的cli ...
- Java-JUC(四):同步容器介绍
同步容器简介 针对容器我们知道有HashMap,HashTable,其中HashMap是一个非线程安全的,HashMap在并发执行put操作时会引起死循环,导致CPU利用率接近100%.因为多线程会导 ...
- Docker实战之创建一个tomcat容器
一.Docker与虚拟机的区别 二.Docker学习步骤 2.1:安装宿主操作系统 在VMVare中安装了Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic ...