1.与JSON相关的依赖包有三种:
<!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib -->
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
2.另外一种是alibaba的fastjson
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.1</version>
</dependency>
这种形式创建出来的JSONObject对象是通过put方式将要保存的信息以键值对的形式存储:
import com.alibaba.fastjson.JSONObject;
JSONObject jsonObject = new JSONObject();
jsonObject.put("id",1);
使用fastjson对实体类和Json还有JSONObject之间的转换
将实体类转化为json字符串
String jsonString = JSONObject.toJSONString(实体类);
将json字符串转化为JSONObject
JSONObject jsonObject = JSONObject.parseObject(jsonString);
将json字符串反解为实体类
实体类 javaBean = JSON.parse(jsonString);
第三种是谷歌提供的java类库Gson
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
gson中有两种方法比较常用,即fromJson()与toJson()两种方法:
//将json字符串转化为其他的类型,包括基本数据类型与自定义的java类
Gson gson = new Gson();
类型 接收变量 = gson.fromJson(json字符串, 要转化的类型);
//将其他类型(包括基本数据类型与java对象)转化为json字符串
类型 接收变量 = gson.toJson(要转化为json字符串的具体数据);
gson还可以和fastjson一样创建JsonObject对象,然后往对象里面塞所要添加的数据:
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("msg", "测试代码");
jsonObject.addProperty("key", "aaaa");
jsonObject.addProperty("time", "2019-2-22");
System.out.println(jsonObject.toString());
//输出来的格式为{"msg":"测试代码","key":"aaaa","time":"2019-2-22"}
网友评论