fastjson快速上手

fastjson

包含了3个类:

  • JSON:转换用
  • JSONObject:代表json对象
  • JSONArray:代表json对象数组

JSONObject类

  • json对象类型
  • 底层由Map实现
    • put(key, value)添加属性
    • get(key)获取json对象的数据
    • 等其他类似Map的方法

JSONArray类

  • 底层就是List
  • 理解为json对象的数组,其中存放一个一个的json对象
    • add
    • remove

img

JSON类

主要实现json对象、json对象数组、java对象、json字符串之间的相互转换

主要方法:

  1. toJSONString() :实现json对象/java对象转换为json字符串
  2. parseObject():json字符串转换为json对象/java对象
  3. parseArray():json字符串转换为json对象数组/list(泛型)
  4. toJSON():java对象 转换 json对象
  5. toJavaObject():json对象转换java对象

JavaBean与json字符串互转

JavaBean ~ json字符串

方法1适用于:

  1. java对象转json字符串
  2. java集合转json字符串
  3. map转json字符串
Student student = new Student("张三", "123456");

//方法1:JSON类的toJSONString方法(方便快捷)
String str = JSON.toJSONString(student);

//方法2:JSON类的toJSON方法得到json对象,再调toString方法
JSONObject jsonObject = (JSONObject)JSON.toJSON(student);
String str = jsonObject.toString();

结果:{“name”:“王八”,“age”:20}

json字符串~JavaBean

String str = "{\"name\":\"xinwei\", \"age\":18}"; // 将字符串内部表示的双引号转义
Student stu = JSON.parseObject(str, Student.class);

JSON类的parseObject方法作用:将json字符转变成json对象或JavaBean对象

JSONObject jsonObject = JSON.parseObject(str);

Student stu = JSON.parseObject(str, Student.class);

JavaBean与json对象互转

javaBean ~ jsonObject

JSONObject jsonObject = (JSONObject)JSON.toJSON(student);

jsonObject ~ javaBean

Student stu = JSON.toJavaObject(jsonObject, Student.class);

JavaList与json对象数组(jsonArray)互转

JavaList ~ jsonArray

List<Student> stu_list = new ArrayList<>();
for(int i = 0; i < 3; i++){
    stu_list.add(new Student("student" + i, i));
}

// JSON类的toJSON方法:该方法实现了将JavaBean对象 转为 json对象
JSONArray jsonArrays = (JSONArray)JSON.toJSON(stu_list);

//打印测试
for(int i=0;i<jsonArrays.size();i++){
		System.out.println(jsonArrays.getJSONObject(i)); // 通过下标获取,和list很像
}

JSONObject jsonObject = jsonArrays.getJSONObject(i);

jsonArray ~ JavaList

List<Student> stu_list = new ArrayList<>();

// 循环遍历的json对象 ~ javabean,用list去接收也已!
for(int i = 0; i < jsonArrays.size(); i++){
    Student stu = JSON.toJavaObject(JsonArrays.getJSONObject(i), Student.class);
    stu_list.add(stu);
}

//打印测试
for(Student s : stu_list){
    System.out.println(stu);
}

json字符串与json对象的互转

json字符串 ~ json对象

JSONObject jsonObject = JSON.parseObject(str);

json对象 ~ json字符串

String str = JSON.toJSONString(jsonObject);

json字符串 ~ json对象数组

// stu_list就是student对象列表
JSONArray jArray = JSON.parseArray(JSON.toJSONString(stu_list));
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值