如何构建json串,并将map转为jsonObject对象的三种方式(scala)

 我来答
科创17
2022-06-22 · TA获得超过5855个赞
知道小有建树答主
回答量:2846
采纳率:100%
帮助的人:168万
展开全部
众所周知,kafka中存储的数据是经过BASE64加密后的jsonObject,因此从kafka中读取的数据经过base64解码,得到的是json串,利用JSONObect的方法可以对json串进行解析,拿到对应的数据。那么要如何将scala对象或者java对象转换为JsonObject对象或JSONObject对象呢?(注意:JsonObject对象和JSONObject对象不同,调用的API也不一样)

三种转换方式依赖的包源码都是用JAVA编写,所以构建Map对象时完全使用java对象,不会发生错误。构建过程如下:

三种将java对象转换为jsonObject对象的开源包有:

1、google提供的Genson是一个完全的Java和JSON转换的类库,提供了全面的数据绑定、流操作等。基于Apache 2.0协议发布。转换结果为

JsonObject对象。

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

引入依赖:这里选用版本为:2.2.4,具体版本可以根据业务需求选择。

<dependency>

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

<artifactId>gson</artifactId>

<version>2.2.4</version>

</dependency>

2、Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 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>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式