如何構(gòu)建json串,并將map轉(zhuǎn)為jsonObject對象的三種方式(scala)

眾所周知,kafka中存儲的數(shù)據(jù)是經(jīng)過BASE64加密后的jsonObject,因此從kafka中讀取的數(shù)據(jù)經(jīng)過base64解碼,得到的是json串,利用JSONObect的方法可以對json串進行解析,拿到對應(yīng)的數(shù)據(jù)。那么要如何將scala對象或者java對象轉(zhuǎn)換為JsonObject對象或JSONObject對象呢?(注意:JsonObject對象和JSONObject對象不同,調(diào)用的API也不一樣)

三種轉(zhuǎn)換方式依賴的包源碼都是用JAVA編寫,所以構(gòu)建Map對象時完全使用java對象,不會發(fā)生錯誤。構(gòu)建過程如下:


三種將java對象轉(zhuǎn)換為jsonObject對象的開源包有:

1、google提供的Genson是一個完全的Java和JSON轉(zhuǎn)換的類庫,提供了全面的數(shù)據(jù)綁定、流操作等?;贏pache 2.0協(xié)議發(fā)布。轉(zhuǎn)換結(jié)果為

JsonObject對象。

使用需要先導入Jar包:import com.google.gson.{Gson, JsonParser}

引入依賴:這里選用版本為:2.2.4,具體版本可以根據(jù)業(yè)務(wù)需求選擇。

<dependency>

<groupId>com.google.code.gson</groupId>

<artifactId>gson</artifactId>

<version>2.2.4</version>

</dependency>


2、Fastjson 是一個 Java 庫,可以將 Java 對象轉(zhuǎn)換為 JSON 格式,當然它也可以將 JSON 字符串轉(zhuǎn)換為 Java 對象。

導入jar包:import com.alibaba.fastjson.JSON

引入依賴:

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>fastjson</artifactId>

<version>1.2.8</version>

</dependency>


3、net.sf.json-lib方式

導入jar包:import net.sf.json.JSONObject

引入依賴:

<dependency>

<groupId>net.sf.json-lib</groupId>

<artifactId>json-lib-ext-spring</artifactId>

<version>1.0.2</version>

</dependency>


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容