Json串的字段与实体类中的字段不一致解决方法和json转换成实体

一:引入包:

1 <dependency>
2          <groupId>com.alibaba</groupId>
3          <artifactId>fastjson</artifactId>
4           <version>1.2.41</version>
5 </dependency>
View Code

二:只需要在实体类上加上注解,并且设置Json对应字段名即可。
简单的例子:

1 @Data
2 public class UserInfo {
3     private Integer id;
4     @JSONField(name = "USERNAME")
5     private String uName;
6     @JSONField(name = "USER_ADDRESS")
7     private String uAddress;
8 }
View Code
JSONObject中Java对象转换成Json格式的两种方式:
1 RiemannUser riemannUser = new RiemannUser();
2 riemannUser.setId(1);
3 riemannUser.setMessage("Hello JSONObject");
4 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
5 String date = sdf.format(new Date());
6 riemannUser.setSendDate(date);
7 
8 String jsonString = JSONObject.toJSONString(riemannUser);
9 System.out.println(jsonString);
View Code
{"id":1,"message":"Hello JSONObject","sendDate":"2019-07-04 00:01:55"}

2、net.sf.json.JSONObject 先调用 fromObject 再调用 toString

pom.xml 依赖:

<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
    <classifier>jdk15</classifier>
</dependency>

这里一定要加入<classifier>jdk15</classifier> 这一行,原因是:还关系到两个jdk版本的实现json-lib-2.1-jdk13.jar和json-lib-2.1-jdk15.jar。

 1 RiemannUser riemannUser = new RiemannUser();
 2 riemannUser.setId(1);
 3 riemannUser.setMessage("Hello JSONObject");
 4 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 5 String date = sdf.format(new Date());
 6 riemannUser.setSendDate(date);
 7 
 8 JSONObject jsonObject = JSONObject.fromObject(riemannUser);
 9 String jsonString = jsonObject.toString();
10 System.out.println(jsonString);
View Code

 json转换成实体

1 String json = "{\"emailfaf\":\"\",\"fahjf\":633521,\"phon\":\"18844148983\",\"USERNAME\":\"郭现本\",\"wwew\":2222,\"aaa\":\"32fsf\"}";
2         String jsonString = JSONObject.toJSONString(json);
3         System.err.println("jsonString"+jsonString);
4         SignGuest signGuest = JSON.parseObject(json,SignGuest.class);
5         System.err.println("signGuest="+signGuest);
View Code

 

 

 

 

posted on 2021-04-19 14:54  逍遥人生MIAO  阅读(2095)  评论(0编辑  收藏  举报

导航