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

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

众所周知,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>

将编写好的scala代码编译后,放到sprak上执行,下面是执行的脚本:

$SPARK_HOME/bin/spark-submit --class com.linker.demo.utils.UserClickCountAnalytics ./target/scala-2.10/sbtdemo1_2.10-1.0.jar


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11373363.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存