Gson之toJson和fromJson方法的具體使用
Gson是Google的一個(gè)開源項(xiàng)目,可以將Java對(duì)象轉(zhuǎn)換成JSON,也可能將JSON轉(zhuǎn)換成Java對(duì)象。
Gson里最重要的對(duì)象有2個(gè)Gson 和 GsonBuilder
Gson有2個(gè)最基本的方法
- toJson() – 轉(zhuǎn)換java 對(duì)象到JSON
- fromJson() – 轉(zhuǎn)換JSON到j(luò)ava對(duì)象
引入依賴:pom.xml文件中加入
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
1.toJson()方法是實(shí)現(xiàn)從java實(shí)體到Json相關(guān)對(duì)象的方法
(1)將對(duì)象轉(zhuǎn)換為json字符串
Gson gson =new Gson(); User user = new User(123,"zy"); String str = gson.toJson(user); System.out.println(str);
輸出結(jié)果為

(2)將map集合轉(zhuǎn)變?yōu)閖son字符串
Gson gson1 =new Gson(); Map<Integer, String> map= new HashMap<Integer, String>(); map.put(11, "zy"); map.put(12, "zz"); String str1 = gson1.toJson(map); System.out.println(str1);
輸出結(jié)果為

2.fromJson()方法來實(shí)現(xiàn)從Json相關(guān)對(duì)象到j(luò)ava實(shí)體的方法
(1)將json字符串轉(zhuǎn)換為java對(duì)象
Gson gson =new Gson(); User user = new User(123,"zy"); //將對(duì)象轉(zhuǎn)為json字符串 String str = gson.toJson(user); //再由json字符串轉(zhuǎn)為java對(duì)象,通過get方法得到對(duì)象里的值 User fromJson = gson.fromJson(str, User.class); System.out.println(fromJson.getAge()+"......"+fromJson.getName());
輸出結(jié)果為

(2)將json字符串轉(zhuǎn)換為map集合
Gson gson =new Gson();
Map<Integer, String> map= new HashMap<Integer, String>();
map.put(11, "zy");
map.put(12, "zz");
//將map集合轉(zhuǎn)換為json字符串
String str = gson.toJson(map);
//將json字符串轉(zhuǎn)換為map集合
Type type = new TypeToken<Map<Integer, String>>() {
}.getType();
Map<Integer, String> map1 = gson.fromJson(str, type);
//遍歷map集合
for (Integer key : map1.keySet()) {
System.out.println("key="+key+"\tvalue="+map1.get(key));
}
輸出結(jié)果為

到此這篇關(guān)于Gson之toJson和fromJson方法的具體使用的文章就介紹到這了,更多相關(guān)Gson toJson和fromJson方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot CORS 配置方法允許跨域請(qǐng)求的最佳實(shí)踐方案
跨域請(qǐng)求在現(xiàn)代Web開發(fā)中非常重要,特別是在涉及多個(gè)前端和后端服務(wù)時(shí),本文詳細(xì)介紹了跨域請(qǐng)求的背景、重要性以及如何解決跨域問題,通過SpringBoot框架的CORS配置,可以有效地處理跨域請(qǐng)求,確保數(shù)據(jù)傳輸?shù)陌踩院陀脩趔w驗(yàn),感興趣的朋友跟隨小編一起看看吧2024-11-11
基于雪花算法實(shí)現(xiàn)增強(qiáng)版ID生成器詳解
這篇文章主要為大家詳細(xì)介紹了如何基于雪花算法實(shí)現(xiàn)增強(qiáng)版ID生成器,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)具有一定的借鑒價(jià)值,需要的可以了解一下2022-10-10
SpringMVC中的@RequestMapping注解的使用詳細(xì)教程
@RequestMapping注解的作用就是將請(qǐng)求和處理請(qǐng)求的控制器方法關(guān)聯(lián)起來,建立映射關(guān)系,本文主要來和大家詳細(xì)講講它的具體使用,感興趣的可以了解一下2023-07-07
springboot集成camunda的實(shí)現(xiàn)示例
本文主要介紹了springboot集成camunda的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
SpringBoot實(shí)現(xiàn)自動(dòng)配置的方式詳解
Spring Boot 自動(dòng)配置 是其核心特性之一,它通過智能化的默認(rèn)配置減少了開發(fā)者的工作量,自動(dòng)配置的原理基于條件化配置和 Spring 的 @Configuration 機(jī)制,本文給大家講解了SpringBoot實(shí)現(xiàn)自動(dòng)配置的過程,需要的朋友可以參考下2025-04-04
基于SpringBoot后端導(dǎo)出Excel文件的操作方法
這篇文章給大家介紹了基于SpringBoot后端導(dǎo)出Excel文件的操作方法,文中通過代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-02-02
Springboot整合Redis實(shí)現(xiàn)超賣問題還原和流程分析(分布式鎖)
最近在研究超賣的項(xiàng)目,寫一段簡單正常的超賣邏輯代碼,多個(gè)用戶同時(shí)操作同一段數(shù)據(jù)出現(xiàn)問題,糾結(jié)該如何處理呢?下面小編給大家?guī)砹薙pringboot整合Redis實(shí)現(xiàn)超賣問題還原和流程分析,感興趣的朋友一起看看吧2021-10-10

