最近发现了一个问题,通过查看用户的活跃度发现了奇怪的事情,有的用户访问某一个接口没有问题,而一些奇葩用户访问这一接口就是不成功,经过查看,原来是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;}

这个小问题,完美的解决了。

Map转json遇到一些问题相关推荐

  1. Jackson 注解 -- 使用 Map存储JSON

    我们也可以使用 Map 存储 JSON, 而不用创建对应的对象. package shangbo.jackson.demo16;import java.util.HashMap; import jav ...

  2. json map java_Java:JSON和Map相互转换

    Java:JSON与Map相互转换 需要jar包:jackson-core-2.6.0.jar,jackson-databind-2.6.0.jar,jackson-annotations-2.6.0 ...

  3. java中map转为json数据_Java技术-将java中Map类型数据转化为json数据并以Ajax形式返回...

    Java技术-将java中Map类型数据转化为json数据并以Ajax形式返回html 1.自定义工具类(简单易用)-下面是我写的一个简单的工具类前端 package com.test.util; i ...

  4. httpf发送 json_Java用HttpClient3发送http/https协议get/post请求,发送map,json,xml,txt数据...

    使用的是httpclient 3.1, 使用"httpclient"4的写法相对简单点,百度:httpclient https post 当不需要使用任何证书访问https网页时, ...

  5. JS 中 Map 与 JSON 转换

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. JSON数据 转 字符串 JSON.stringify(jsondata) 2. 字符串 转 ...

  6. Java笔记-通过放射获取类中成员名及调用get方法及map构造JSON数据

    目录 通过反射获取类中成员名 通过反射调用get方法 map生成JSON数据 通过反射获取类中成员名 /*** 获取类中的所有成员名* @param currentClass* @return* @t ...

  7. java处理json的工具类(list,map和json的之间的转换)

    需要下载第三方的jar :net.sf.json import java.io.BufferedReader; import java.io.InputStream; import java.io.I ...

  8. List、Map 与json转换的工具类

    最近做公司项目安排做后台,因为写接口给别人用,就不能随随便便返回数据与接收数据了,为了统一性,要求统一用json来传输数据,为了方便后期的代码的维护以及代码的简洁,笔者整理了一下json与List.M ...

  9. Spark中Map和Json字符串相互转换

    1. Map转JsonString Map转Json的String,首先在pom中添加json4s-native的依赖,一般使用如下方式就可以得到结果 import org.json4s.jackso ...

  10. 【GO】map转json

    咔咔博客之map转json 跟结构体转json一样都使用的是json.Marshal()方法 最后需要就是把字节转为字符串使用string即可 案例 func main() {// 定义了interf ...

最新文章

  1. 76.Zabbix添加图形和聚合图形
  2. 启动ubuntu无反应_推荐一款优秀的Python IDE以及在Ubuntu下的安装
  3. Java中集合的自定义运算符
  4. python实现英文新闻摘要自动提取_Automotive Innovation摘要集系列2:Intelligent and Connected Vehicles...
  5. Mysql笔记-对left join使用的进一步认识(多表查询的正确使用及认识)
  6. Spark源码系列(四)图解作业生命周期
  7. sed 分隔符打印_字符截取:cut,格式化输出:printf,字符截取:awk,文件或命令输出编辑:sed...
  8. 编程小技巧 --用VB解决时间同步的问题
  9. 奇妙的go语言(面向对象)
  10. 关于iptables封禁国外ip的方法
  11. 《自己动手写操作系统》—— 工作环境搭建
  12. 论文推荐到计算机科学期刊,计算机类论文参考文献推荐 计算机类核心期刊参考文献哪里找...
  13. 产品经理会用到的常用术语大全
  14. MySQL数据库(1):数据库 Database 基本概念
  15. python pipe_Python os.pipe()用法及代码示例
  16. MAC+appium自动化测试
  17. 记录下在线扩容服务器遇到的问题 NOCHANGE: partition 1 is size 419428319. it cannot be grown
  18. 为自己选一个网络硬盘
  19. 自然语言处理(九)——数据平滑
  20. [RFC6023] 互联网密钥交换版本 2 (IKEv2) 安全协会 (SA) 的Childless 初始化 (翻译)

热门文章

  1. Java中的BlockingQueue队列
  2. Tornado介绍及自定义组件
  3. ElastcSearch的Mapping映射建立
  4. 【转】LiveWriter插入高亮代码插件介绍 基于SyntaxHighighter
  5. 第九十八节,JavaScript语法、关键保留字及变量
  6. eclipse中tomcat能正常启动,但是访问不了tomcat首页(问题解决)
  7. C# Interface 的一点笔记。explicit Interface Implementation
  8. asp.net 利用特性和正则表达式进行字段的验证(attribute)
  9. 误差分析(python)
  10. ubunut18.04 pycharm创建快捷方式和右键创建空白文件夹