json數(shù)據(jù)格式是目前前端用的比較多的數(shù)據(jù)格式,因此也經(jīng)常需要對(duì)json數(shù)據(jù)格式進(jìn)行解析格式化。下面,和大家分享關(guān)于在Java中幾種用來(lái)格式化json數(shù)據(jù)格式的常用工具類的使用。
前置條件
導(dǎo)入以下 jar
包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
一、數(shù)組格式j(luò)son轉(zhuǎn)成 ,
隔開的字符串
業(yè)務(wù)場(chǎng)景
多選項(xiàng)時(shí),前端一般傳入數(shù)組包裹的數(shù)據(jù)。["滅火器","消防栓","泡沫"]
我們保存是沒(méi)有問(wèn)題,但是再返給前端時(shí),前端需要再做處理才能正常渲染,不然格式就不對(duì)了!
所以我們可以在保存的時(shí)候做上一層處理
代碼如下:
public static String ArrayToStr(String array){
List<String> arrList = JSONArray.parseArray(array, String.class);
return StringUtils.strip(arrList.toString(),"[]").replace(" ","");
}
執(zhí)行結(jié)果如下:
二、String轉(zhuǎn)List<對(duì)象>
我們查詢數(shù)據(jù)庫(kù)的時(shí)候,有的數(shù)據(jù)格式可能是這樣的:
[{"name":"丁大大","age":"23","like":"釣魚"},{"name":"面條","age":"22","like":"吃飯"}]
數(shù)組包對(duì)象的形式,假如我們需要對(duì)其進(jìn)行一定的業(yè)務(wù)處理,則需要將格式作一個(gè)轉(zhuǎn)換
代碼如下:
public static List<Map<String,Object>> JsonToList(String json){
return (List<Map<String, Object>>) JSONArray.parse(json);
}
執(zhí)行結(jié)果:
三、String轉(zhuǎn)Map
數(shù)據(jù)格式:
{"name":"丁大大","age":"23","like":"釣魚"}
代碼如下:
public static Map<String,Object> JsonToMap(String json){
return JSONObject.parseObject(json);
}
執(zhí)行結(jié)果:
到此這篇Java幾種常用的格式化json數(shù)據(jù)格式的工具類使用的文章就介紹到這了,更多相關(guān)Java Json的內(nèi)容,請(qǐng)搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,也希望大家以后多多支持我們!