android json解析成map格式

android json解析成map格式,第1张

先看json数据

之前使用的是gson解析,把 discount 写成Object格式,但是通过解析之后转成String类型,成为

这种明显没有办法解析成map集合

使用原始的Json解析,一层一层的找到这个对象,转成String类型成为

这种情况下就可以了 之后是copy的解析方法

第一种方法是

第二种是

这样就可以获取到map集合了

我们需要先把json字符串转化为netsfjsonJSONObject对象,java中这样就可以完成json字符串到Map的转换了。

1将数组转换为JSON:String[] arr = {"asd","dfgd","asd","234"};JSONArray jsonarray = JSONArrayfromObject(arr);Systemoutprintln(jsonarray);

2对象转换成JSON:UserInfo user = new UserInfo(1001,"张三");JSONArray jsonArray = JSONArrayfromObject(user);Systemoutprintln( jsonArray );

3把Map转换成json, 要使用jsonObject对象:Map<String, Object> map = new HashMap<String, Object>();mapput("userId", 1001);mapput("userName", "张三");mapput("userSex", "男");JSONObject jsonObject = JSONObjectfromObject(map);Systemoutprintln(jsonObject);

4把List转换成JSON数据:List<UserInfo> list = new ArrayList<UserInfo>();UserInfo user = new UserInfo(1001, "张三");listadd(user);listadd(user);listadd(user);JSONArray jsonArray = JSONArrayfromObject(list);Systemoutprintln(jsonArray);

众所周知,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 20协议发布。转换结果为

JsonObject对象。

使用需要先导入Jar包:import comgooglegson{Gson, JsonParser}

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

<dependency>

<groupId>comgooglecodegson</groupId>

<artifactId>gson</artifactId>

<version>224</version>

</dependency>

2、Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。

导入jar包:import comalibabafastjsonJSON

引入依赖:

<dependency>

<groupId>comalibaba</groupId>

<artifactId>fastjson</artifactId>

<version>128</version>

</dependency>

3、netsfjson-lib方式

导入jar包:import netsfjsonJSONObject

引入依赖:

<dependency>

<groupId>netsfjson-lib</groupId>

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

<version>102</version>

</dependency>

qiankun微前端框架加载腾讯地图会报jsonp请求跨域的问题,官网给的解决方案如下图所示:

然而并不能解决实际项目遇到的场景,qiankun框架加载腾讯地图api,腾讯地图本身会动态加载一些JSONP请求的js,从而导致JSONP跨域错误,加载不了地图,就很麻烦,算是qiankun框架的天生bug吧?于是我使用了曲线救国的方法来解决这个问题。

新建了一个腾讯地图的项目,使用iframe嵌套腾讯地图,使用postMessage互相通信。

这个子应用我是使用vue3来开发的,该子应用和iframe的通信方式如下:

因为使用到腾讯地图WebService API 的关键词输入提示的接口,需要使用jsonp请求来获取数据,这里使用vue-jsonp来发送jsonp请求。

涉及到的知识点有:

以上就是关于android json解析成map格式全部的内容,包括:android json解析成map格式、Map类型获取json数组,如何提取值、如何构建json串,并将map转为jsonObject对象的三种方式(scala)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/10077342.html

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

发表评论

登录后才能评论

评论列表(0条)

保存