1、Gson
Gson是Google发布的一个开源Java类库,能够很方便的在Java对象和JSON字符串之间进行序列化和反序列化。
<!-- Gson maven项目依赖 -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.2</version>
</dependency>
代码实现
//Json字符串转Json对象
JsonObject departmentJsonObj = new JsonParser().parse(allDepartmentStr).getAsJsonObject();
String dept = departmentJsonObj .get("department").toString();
//JsonObject转Json数组
JsonArray deptListArray = departmentIdListJsonObj.getAsJsonArray("department");
注意,当所解析的Json字符串中某个参数中是带双引号的,还需要去“”,如:
{
"name": "username",
"age": 20,
"admin": true
}
如果我想取name,做如下写,如果不加replaceAll(),name取出的是“username”,会有双引号的。而使用方法2的FastJson就不需要去双引号。
JsonObject userJsonObj = new JsonParser().parse(userJsonStr).getAsJsonObject();
String userName = userJsonObj .get("name").toString().replaceAll("\"", "");
2、FastJson
Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发。
1、遵循http://json.org标准,为其官方网站收录的参考实现之一。
2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。
3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。
4、开源,使用Apache License 2.0协议开源。http://code.alibabatech.com/wiki/display/FastJSON/Home
5、具有超高的性能,java世界里没有其他的json库能够和fastjson可相比了。
<!-- FastJson在maven项目依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.27</version>
</dependency>
代码实现
//Json字符串转Json对象
JSONObject accessTokenJsonObject = JSONObject.parseObject(accessTokenJsonStr);
accessToken = accessTokenJsonObject.getString("access_token");
网友评论