Map转json遇到一些问题
来源:互联网 发布:ssh无法连接linux 编辑:程序博客网 时间:2024/06/16 23:58
最近发现了一个问题,通过查看用户的活跃度发现了奇怪的事情,有的用户访问某一个接口没有问题,而一些奇葩用户访问这一接口就是不成功,经过查看,原来是Android系统4.4以下map转换json的时候出现了问题,具体是什么了,下面我们来分析分析。
第一,利用”org.json.JSONObject”下的JsonObject 时,4.4以下的系统出现“=”的问题。比如:
Map<String, Object> map = new HashMap<>(); map.put("name", "张山"); map.put("age", 23); Map<String, Object> mapFav = new HashMap<>(); mapFav.put("fav", "音乐"); mapFav.put("work", "工程师"); map.put("other", mapFav); JSONObject json =new JSONObject(map);
运行之后的结果是;
{ "name": "张山", "age": 23, "other": "{work=工程师, fav=音乐}"}
这不是坑人嘛。好了出现这种问题,我们肯定要解决的。
解决办法:
第一:换jar包,利用“net.sf.json.JSONObject”下的JsonObject。看看效果。
Map<String, Object> map = new HashMap<>(); map.put("name", "张山"); map.put("age", 23); Map<String, Object> mapFav = new HashMap<>(); mapFav.put("fav", "音乐"); mapFav.put("work", "工程师"); map.put("other", mapFav); JSONObject json = JSONObject.fromObject(map);
看看运行的结果:
{ "name": "张山", "age": 23, "other": { "work": "工程师", "fav": "音乐" }}
什么?下载地址哪里,不知道,看下面,使劲点击,点下面链接。
用到的jar 包,拷贝在libs文件下即可,
jar包下载
第二:利用Gson转化
Gson转化几行代码解决。
public static <T> String mapToJson(Map<String, T> map) { Gson gson = new Gson(); String jsonStr = gson.toJson(map); return jsonStr; }
这个小问题,完美的解决了。
阅读全文
2 0
- Map转json遇到一些问题
- jq + json + hibernate 遇到的一些问题
- Jackson处理json转换map时遇到的问题
- android上使用 google map 会遇到的一些问题
- bean转换成json中遇到的一些问题~
- jackson json开发过程遇到的一些问题小节
- 实体集合转JSON遇到的问题
- js,JSON转字符串遇到的问题
- sqlserver2000转mysql遇到的一些问题
- tomcat转weblogic遇到的一些问题
- 遇到的一些问题
- 解码遇到一些问题
- 遇到的一些问题
- 遇到的一些问题
- 遇到的一些问题
- 遇到的一些问题
- object转json字符串时NULL值字段过滤及map、json互转后map类型问题
- 【最近面试遇到的一些问题】java中list、set和map 的区别
- ubuntu下搭建vsftpd,实现从外网访问到内网ftp服务器
- 使用nginx与nginx-rtmp-module搭建流媒体服务器
- 求平均成绩
- handler消息处理机制
- 大数据01_hadoop入门基础知识
- Map转json遇到一些问题
- 关于HTTP协议的研究
- 解决xx is not in the sudoers file. This incident will be reported.问题
- jquery dataTable 隐藏某列
- git 远程版本库,github提供服务原理,git自动更新发送邮件
- UVA12503-Robot Instructions
- Q106:Mac系统下安装编译PBRT-V3
- SQL SERVER 注册服务器使用
- android探索之路:截取字符串substring()的用法