当我们在项目中需要拼接数据格式,解析数据格式的时候,使用FastJson里面一个类JSONObject,能解决我们的问题。那么我就来做一下笔记
首先我们需要在项目中pom文件里添加maven依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.70</version>
</dependency>
JsonObject里面有很多方法,例子如下
public static void main(String[] args) {
JSONObject jsonObject = new JSONObject();
List<JSONObject> list = new ArrayList<>();
JSONObject jsonObject2 = new JSONObject();
/**
* 往jsonObject对象里面放<k,v>
*/
jsonObject2.put("1","格鲁特");
jsonObject2.put("2","glt");
/**
* 把jsonObject对象添加进数组
*/
list.add(jsonObject2);
jsonObject.put("abc",list);
/**
* 根据key获取value
*/
String key = jsonObject.getString("abc");
System.out.println("根据key获取到的value:"+key);
System.out.println("jsonObject对象是:"+jsonObject);
/**
* 获取长度
*/
int size = jsonObject2.size();
System.out.println("获取长度是"+size);
/**
* 根据key获取value,这是第二种获取方法,
* 由于jsonObject对象的value是个数组,可以用getJSONArray
*/
JSONArray array = jsonObject.getJSONArray("abc");
System.out.println("根据key获取到的value:"+array);
/**
* 判断JSONArray是否为空
* 根据index(索引)取jsonObject对象
*/
if (!array.isEmpty()) {
JSONObject object = array.getJSONObject(0);
System.out.println(object);
System.out.println("通过key获取value:"+object.get("1"));
System.out.println("通过key获取value:"+object.get("2"));
}
/**
* 判断是否含有我想要的value
*/
Boolean b = jsonObject2.containsValue("glt");
System.out.println(b);
}
运行结果如下:
这里只写了一些方法,还有我自己在项目里常用的方法。