Java基礎(chǔ)之FastJson詳解
一、fastJson將json格式字符串轉(zhuǎn)化成List集合
注:json格式字符串必須符合數(shù)組型格式如[{"a":a},{"b":b}]
場景一:前端向后臺(tái)傳遞數(shù)組格式的json字符串,如何轉(zhuǎn)化成List集合
List<AccountBean> readJson2List =JSON.parseArray(json, AccountBean.class)注意這里是Bean.class而不是List.class
@Test
public void readJson2ListBean() {
String json = "[{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"},{\"address\":\"address\",\"name\":\"haha\",\"id\":1,\"email\":\"email\"}]";
List<AccountBean> readJson2List =JSON.parseArray(json, AccountBean.class);
//輸出測試
JsonUtils.beanToJson(readJson2List);
}
場景二:前端向后臺(tái)傳遞數(shù)組格式的json字符串,如何轉(zhuǎn)化成List<HashMap<String,Object>>集合
@Test
public void readJson2ListMap() {
String json = "[{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"},{\"address\":\"address\",\"name\":\"haha\",\"id\":1,\"email\":\"email\"}]";
List<HashMap> readJson2List =JSON.parseArray(json,HashMap.class);
//輸出測試
JsonUtils.beanToJson(readJson2List);
}
二、fastJson將json格式字符串轉(zhuǎn)化成對象
場景一:前端向后臺(tái)傳遞數(shù)組格式的json字符轉(zhuǎn)化成Bean對象
@Test
public void readJson2Bean() {
String json = "{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"}";
AccountBean accountBean =JSON.parseObject(json,AccountBean.class);
//輸出測試
JsonUtils.beanToJson(accountBean);
}
場景二:前端向后臺(tái)傳遞數(shù)組格式的json字符串Map<String,Object>集合
@Test
public void readJson2Map() {
String json = "{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"}";
HashMap<String,Object> accountBean =JSON.parseObject(json,Map.class);
//輸出測試
JsonUtils.beanToJson(accountBean);
}
測試:

三、FastJson將對象或集合轉(zhuǎn)化成json格式字符串
@Test
public void beanAndCollectionTOJson() {
AccountBean bean = new AccountBean();
bean.setAddress("china-Guangzhou");
bean.setEmail("hoojo_@126.com");
bean.setId(1);
bean.setName("hoojo");
String json = JSON.toJSONString(bean);
System.out.println(json);
}
四、FastJson將json格式字符串轉(zhuǎn)化成json對象
@Test
public void jsonStringTOJsonBean() {
String json = "{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"}";
JSONObject parse = (JSONObject) JSON.parse(json);
String address = (String) parse.get("address");
System.out.println("輸出address=="+address);
}

五、FastJson將json格式字符串轉(zhuǎn)化成json數(shù)組
@Test
public void jsonString2JsonArray() {
String json = "[{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"},{\"address\":\"address\",\"name\":\"haha\",\"id\":1,\"email\":\"email\"}]";
JSONArray parseArray = JSON.parseArray(json);
//輸出測試
JsonUtils.beanToJson(parseArray.get(0));
}

六、FastJson將java對象轉(zhuǎn)化成json對象
@Test
public void beanAndCollectionTOJsonBean() {
AccountBean bean = new AccountBean();
bean.setAddress("china-Guangzhou");
bean.setEmail("hoojo_@126.com");
bean.setId(1);
bean.setName("hoojo");
JSONObject json = (JSONObject) JSON.toJSON(bean);
json.get("address");
System.out.println(json);
}

到此這篇關(guān)于Java基礎(chǔ)之FastJson詳解的文章就介紹到這了,更多相關(guān)Java FastJson內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java排序之冒泡排序的實(shí)現(xiàn)與優(yōu)化
冒泡排序是一種簡單的交換排序。之所以叫做冒泡排序,因?yàn)槲覀兛梢园衙總€(gè)元素當(dāng)成一個(gè)小氣泡,根據(jù)氣泡大小,一步一步移動(dòng)到隊(duì)伍的一端,最后形成一定對的順序。本文將利用Java實(shí)現(xiàn)冒泡排序,并進(jìn)行一定的優(yōu)化,希望對大家有所幫助2022-11-11
Java享元設(shè)計(jì)模式優(yōu)化對象創(chuàng)建提高性能和效率
Java享元設(shè)計(jì)模式通過共享可重用的對象,減少了系統(tǒng)中對象的數(shù)量,優(yōu)化了對象的創(chuàng)建和管理,提高了性能和效率。它是一種經(jīng)典的設(shè)計(jì)模式,適用于需要處理大量相似對象的應(yīng)用程序2023-04-04
JAVA不可變類(immutable)機(jī)制與String的不可變性(推薦)
這篇文章主要介紹了JAVA不可變類(immutable)機(jī)制與String的不可變性(推薦)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08
SpringBoot集成Mybatis+xml格式的sql配置文件操作
這篇文章主要介紹了SpringBoot集成Mybatis+xml格式的sql配置文件操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
解決springboot 獲取form-data里的file文件的問題
這篇文章主要介紹了解決springboot 獲取form-data里的file文件的問題的相關(guān)資料,這里提供了詳細(xì)的解決步驟,需要的朋友可以參考下2017-07-07
java實(shí)現(xiàn)對map的字典序排序操作示例
這篇文章主要介紹了java實(shí)現(xiàn)對map的字典序排序操作,結(jié)合實(shí)例形式分析了java參照微信官網(wǎng)算法實(shí)現(xiàn)的字典序排序操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-07-07
java對象數(shù)組實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java對象數(shù)組實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06

