深入淺析Java常用的格式化Json工具類
前置條件
導(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)成 ,
隔開(kāi)的字符串
業(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":"釣魚(yú)"},{"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":"釣魚(yú)"}
代碼如下:
public static Map<String,Object> JsonToMap(String json){ return JSONObject.parseObject(json); }
執(zhí)行結(jié)果:
到此這篇關(guān)于Java常用的格式化Json工具類的文章就介紹到這了,更多相關(guān)Java Json工具類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 解析Java并發(fā)Exchanger的使用
- Java并發(fā)編程之Exchanger方法詳解
- Java Exchanger并發(fā)類使用方法
- 通俗易懂學(xué)習(xí)java并發(fā)工具類-Semaphore,Exchanger
- Java編程線程同步工具Exchanger的使用實(shí)例解析
- Java多線程編程之使用Exchanger數(shù)據(jù)交換實(shí)例
- java并發(fā)編程工具類JUC之ArrayBlockingQueue
- Java工具類之@RequestMapping注解
- Java應(yīng)用EasyExcel工具類
- Java并發(fā)工具類Exchanger的相關(guān)知識(shí)總結(jié)
相關(guān)文章
詳解HTTP請(qǐng)求與響應(yīng)基礎(chǔ)及實(shí)例
這篇文章主要介紹了詳解HTTP請(qǐng)求與響應(yīng)基礎(chǔ)及實(shí)例的相關(guān)資料,這里對(duì)http的請(qǐng)求和響應(yīng)進(jìn)行詳細(xì)分析并附有實(shí)現(xiàn)實(shí)例,需要的朋友可以參考下2017-07-07java實(shí)現(xiàn)利用String類的簡(jiǎn)單方法讀取xml文件中某個(gè)標(biāo)簽中的內(nèi)容
下面小編就為大家?guī)?lái)一篇java實(shí)現(xiàn)利用String類的簡(jiǎn)單方法讀取xml文件中某個(gè)標(biāo)簽中的內(nèi)容。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12深入淺析Java Object Serialization與 Hadoop 序列化
序列化是指將結(jié)構(gòu)化對(duì)象轉(zhuǎn)化為字節(jié)流以便在網(wǎng)絡(luò)上傳輸或者寫(xiě)到磁盤(pán)永久存儲(chǔ)的過(guò)程。下面通過(guò)本文給大家分享Java Object Serialization與 Hadoop 序列化,需要的朋友可以參考下2017-06-06java固定大小隊(duì)列的幾種實(shí)現(xiàn)方式詳解
隊(duì)列的特點(diǎn)是節(jié)點(diǎn)的排隊(duì)次序和出隊(duì)次序按入隊(duì)時(shí)間先后確定,即先入隊(duì)者先出隊(duì),后入隊(duì)者后出隊(duì),這篇文章主要給大家介紹了關(guān)于java固定大小隊(duì)列的幾種實(shí)現(xiàn)方式,需要的朋友可以參考下2021-07-07解決mapper接口無(wú)法映射mapper.xml的問(wèn)題
這篇文章主要介紹了解決mapper接口無(wú)法映射mapper.xml的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06Java 深入淺出分析Synchronized原理與Callable接口
Synchronized關(guān)鍵字解決的是多個(gè)線程之間訪問(wèn)資源的同步性,synchronized關(guān)鍵字可以保證被它修飾的方法或者代碼塊在任意時(shí)刻只能有一個(gè)線程執(zhí)行,Runnable是執(zhí)行工作的獨(dú)立任務(wù),但是不返回任何值。如果我們希望任務(wù)完成之后有返回值,可以實(shí)現(xiàn)Callable接口2022-03-03IntelliJ?IDEA?2022.1.1創(chuàng)建java項(xiàng)目的詳細(xì)方法步驟
最近安裝了IntelliJ IDEA 2022.1.1,發(fā)現(xiàn)新版本的窗口還有些變化的,所以下面這篇文章主要給大家介紹了關(guān)于IntelliJ?IDEA?2022.1.1創(chuàng)建java項(xiàng)目的詳細(xì)方法步驟,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07Idea入門(mén)教程之一分鐘創(chuàng)建一個(gè)Java工程
idea作為Java開(kāi)發(fā)最好用的編寫(xiě)代碼軟件之一,首先進(jìn)行的就是工程的創(chuàng)建,這篇文章主要給大家介紹了關(guān)于Idea入門(mén)教程之一分鐘創(chuàng)建一個(gè)Java工程的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07