Java對(duì)象轉(zhuǎn)json的方法過(guò)程解析
這篇文章主要介紹了Java對(duì)象轉(zhuǎn)json的方法過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
1、 jsonlib:個(gè)人感覺(jué)最麻煩的一個(gè)需要導(dǎo)入的包也多,代碼也相對(duì)多一些。
2、Gson:google的
3、FastJson:阿里巴巴的,個(gè)人覺(jué)得這個(gè)比較好,而且據(jù)說(shuō)這個(gè)也是性能最好一個(gè)。
下面就貼出三種寫(xiě)法的代碼,讀者可以任選其一去使用。關(guān)于demo里面所使用的jar包,可以自行去下載。
Jsonlib:
package json; import java.util.ArrayList; import java.util.List; import net.sf.json.JSONArray; import user.User; public class Jsonlib { public static void main(String[] args) { User user1 = new User(); user1.setUsername("111"); user1.setPassword("111"); User user2 = new User(); user2.setUsername("222"); user2.setPassword("222"); List<User> lists = new ArrayList<User>(); lists.add(user1); lists.add(user2); JSONArray fromObject1 = JSONArray.fromObject(user1); JSONArray fromObject2 = JSONArray.fromObject(lists); String str1 = fromObject1.toString(); String str2 = fromObject2.toString(); System.out.println(str1); //打印結(jié)果 //[{"password":"111","username":"111"}] System.out.println(str2); //打印結(jié)果 //[{"password":"111","username":"111"},{"password":"222","username":"222"}] } }
jar:
Gson:
package json; import java.util.ArrayList; import java.util.List; import com.google.gson.Gson; import user.User; public class Gson_a { public static void main(String[] args) { User user1 = new User(); user1.setUsername("111"); user1.setPassword("111"); User user2 = new User(); user2.setUsername("222"); user2.setPassword("222"); List<User> lists = new ArrayList<User>(); lists.add(user1); lists.add(user2); Gson gson = new Gson(); String json1 = gson.toJson(user1); System.out.println(json1); //打印結(jié)果 //{"username":"111","password":"111"} String json2 = gson.toJson(lists); System.out.println(json2); //打印結(jié)果 //[{"username":"111","password":"111"},{"username":"222","password":"222"}] } }
jar:
FastJson:
package json; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON; import user.User; public class FastJson { public static void main(String[] args) { User user1 = new User(); user1.setUsername("111"); user1.setPassword("111"); //1、單個(gè)對(duì)象轉(zhuǎn)換成json String jsonString = JSON.toJSONString(user1); System.out.println(jsonString); //打印結(jié)果 //{"password":"111","username":"111"} User user2 = new User(); user2.setUsername("222"); user2.setPassword("222"); List<User> lists = new ArrayList<User>(); lists.add(user1); lists.add(user2); String jsonString2 = JSON.toJSONString(lists); System.out.println(jsonString2); //打印結(jié)果 //[{"password":"111","username":"111"},{"password":"222","username":"222"}] } }
jar:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringMVC異常全局捕獲與錯(cuò)誤響應(yīng)的處理方法
編程式異常處理是通過(guò)在代碼中?顯式編寫(xiě)異常捕獲邏輯(如?try-catch?塊)來(lái)管理異常的方式,開(kāi)發(fā)者需要手動(dòng)處理每一個(gè)可能拋出異常的代碼段,本文給大家介紹SpringMVC異常全局捕獲與錯(cuò)誤響應(yīng)的處理方法,感興趣的朋友一起看看吧2025-03-03Java(基于Struts2) 分頁(yè)實(shí)現(xiàn)代碼
這篇文章介紹了Java(基于Struts2) 分頁(yè)實(shí)現(xiàn)代碼,有需要的朋友可以參考一下2013-10-10java 讀取excel文件轉(zhuǎn)換成json格式的實(shí)例代碼
這篇文章主要介紹了 java 讀取excel文件轉(zhuǎn)換成json格式的實(shí)例代碼,需要的朋友可以參考下2018-04-04Spring利用@Validated注解實(shí)現(xiàn)參數(shù)校驗(yàn)詳解
這篇文章主要為大家詳細(xì)介紹了在?Spring?項(xiàng)目中使用?@Validated?進(jìn)行參數(shù)校驗(yàn)的方法和常見(jiàn)應(yīng)用場(chǎng)景,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05Spring中的@EnableScheduling定時(shí)任務(wù)注解
這篇文章主要介紹了Spring中的@EnableScheduling注解,@EnableScheduling是 Spring Framework 提供的一個(gè)注解,用于啟用 Spring 的定時(shí)任務(wù)功能,通過(guò)使用這個(gè)注解,可以在 Spring 應(yīng)用程序中創(chuàng)建定時(shí)任務(wù),需要的朋友可以參考下2024-01-01Java 中 Form表單數(shù)據(jù)的兩種提交方式
本文給大家分享java中form表單數(shù)據(jù)的兩種提交方式,分別是get從制定的服務(wù)器中獲取數(shù)據(jù),pos方式提交數(shù)據(jù)給指定的服務(wù)器處理,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2016-12-12Java.SE數(shù)組的一些常見(jiàn)練習(xí)題
數(shù)組可以看成是相同類(lèi)型元素的一個(gè)集合,在內(nèi)存中是一段連續(xù)的空間,這篇文章主要給大家介紹了關(guān)于Java.SE數(shù)組的一些常見(jiàn)練習(xí)題,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02