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

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM