先看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)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)