JAVA-WEB项目经常使用ajax请求数据,后台处理JSON格式的数据比较常见,之前接触使用的
基本都是google的gson:com.google.gson.Gson gson = new Gson();其简单的转换字符串和JSON
对象好行,但如果要对转换后的JSON对象进行处理就比较麻烦了。
对JSON对象处理的工具类有com.google.gson.Gson,可以使用gson.fromJson(),但是其在转为Map
时曾发现int的数据被转为了double,即1变成了1.0,很奇怪,而且其在获取Map的数据后多半要强制转型。
工具类还有org.json.JSONObject,这个类直接new JSONObject即可。
还有com.alibaba.fastjson.JSONObject,使用com.alibaba.fastjson.JSONObject.parseObject("asd")。
这两个JSONObject处理工具类比较相似,com.alibaba.fastjson.JSONObject相对方法多一点,至于哪个比较
好则没有对比过。
个人推荐使用com.alibaba.fastjson.JSONObject。
maven下com.google.gson.Gson引入:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
com.alibaba.fastjson.JSONObject引入:
<dependency>
<groupId>cn.leancloud</groupId>
<artifactId>fastjson-leancloud</artifactId>
<version>1.1.39</version>
</dependency>
org.json.JSONObject引入:
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>