fastjson的几种常规使用
1.转换成JSONObject
String keyValue = "{\"TNT\":\"Bang\"}";
JSONObject jsonObject = JSON.parseObject(keyValue);
String tnt = (String)jsonObject.get("TNT");
通常在对于json格式的字符串不是某个具体对应的对象类型的时候使用,将字符串转成JSONObject对象,通过与map相同的方式获取我们想要的值。
2.转换成实体类对象
String emp = "{\"id\":\"1\",\"name\":\"TNT\"}";
JSONObject jsonObject = JSON.parseObject(emp);
Employee employee = JSONObject.toJavaObject(jsonObject,Employee.class);
通常在json字符串我们知道是一个类的属性组成的情况下将其转换成实例的对象,当然转换要分为两部,首先将对象转换成JSONObject对象然后将json对象和类的字节码对象一起传入就可以得到一个具体事例对象。
3.转换成List集合
String emps = "[{\"id\":\"1\",\"name\":\"TNT\"},{\"id\":\"2\",\"name\":\"JK\"}]";
List<Employee> employees = JSONArray.parseArray(emps, Employee.class);
如果json字符串是某种类型的数组,就可以显示的将其转换成对应的List集合
4.转换成Map
String map = "{\"id\":\"1\",\"name\":\"TNT\"}";
Map jsonObject = JSON.parseObject(map);
Set set = jsonObject.entrySet();
for (Object o : set) {
System.out.println(o);
}
//打印结果 name=TNT id=1
因为JSONObjec是Map的一个子类,所以可以用map接收JSONObjec对象,不过这种方式在我看来没什么用,因为作为子类JSONObject对象的功能比Map更强大。