fastjson的简单介绍及常用案例
fastjson
一种轻量级的数据交换格式。
若有不恰之处,请各位道友指正~
jsonObject
JSONObject主要封装了各种get方法,通过键值对中的键来获取其对应的值
常用的方法:
- 主要通过KV的键值对的方式获取到数据。
jsonArray
主要用于直接操作json对象,因为json数组对象中存储一个个json对象,
常用的方法:
- 主要是对数组对象的增删改。
JSON
通过JSONObject和JSONArray来实现,主要用于实现转换。
// 一些常用的数据处理
class FastJsonTest{
public static void main(String[] args) {
String str = "{\"result\": \"success\",\"rect\": [122,133,276,285],\"quality\": 89.64,\"feature\": \"7qpXQoleAAAAAgAA=\"," +
"\"data\": [{\"imageId\": \"d1e2773aaef04556b5d79797833c\",\"score\": 0.9772989153862,\"dbId\": \"Hackathon\",\"pid\": \"d1e2773aaefb5fbe4d79797833c\",\"payload\": {\"filename\": \"小明.jpg\"}}],\"time_used\": 59}";
//key value 键值对获取
JSONObject jsonObject = JSON.parseObject(str);
String result = jsonObject.getString("result");
System.out.println(result);
//数组获取
String rect = jsonObject.getString("rect");
String[] newArray = JSON.parseObject(rect, String[].class);
for (String s:newArray ) {
System.out.println(s);
}
//对象获取(伪代码)
//String rect = jsonObject.getString("rect");
//Student student = JSON.parseObject(rect, Student.class);
//list 数组获取
JSONArray data = jsonObject.getJSONArray("data");
List<FaceDetect> errors = JSON.parseObject(data.toJSONString(), new TypeReference<List<FaceDetect>>() {});
if(data.size() > 0) {
for (FaceDetect e : errors) {
System.out.println(e.getImageId());
}
}
//或者
for(int i = 0;i<data.size();i++){
JSONObject face = data.getJSONObject(i);
System.out.println(face);
}
}
}