JSON.parseObject 实例

前言

实践一下 JSON 类的 public static final <T> T parseObject(String text, Class<T> clazz) 方法,看一下效果,基于 fastjson-1.2.54.jar 版本

Student 类

package com.yuanhao.test;

public class Student {
	public String name;
	private String sex;
	public int age;
	public boolean isGraduate;
	public String home;
	
	@Override
	public String toString() {
		return "Student {" + "name:'" + name + "'," 
	                       + "sex:'" + sex + "',"
	                       + "age:" + age +","
	                       + "isGraduate:'" + isGraduate + "',"
	                       + "home:'" + home + "'}";
	}
}

Mytest 类

package com.yuanhao.test;

import com.alibaba.fastjson.JSON;

public class Mytest {
	public static void main(String[] args) {
		String jsonStr = "{\"name\":\"ZhangSan\",\"age\":22,\"sex\":\"male\",\"isGraduate\":\"true\",\"isBad\":false}";
		System.out.println("json string: " + jsonStr);
		
		Student stu = JSON.parseObject(jsonStr, Student.class);
		System.out.println("student toString: " + stu.toString());
		
		String stuStr = JSON.toJSONString(stu);
		System.out.println("JSON 串: " + stuStr);
	}
}

结果

json string: {"name":"ZhangSan","age":22,"sex":"male","isGraduate":"true","isBad":false}
student toString: Student {name:'ZhangSan',sex:'null',age:22,isGraduate:'true',home:'null'}
JSON 串: {"age":22,"isGraduate":true,"name":"ZhangSan"}

总结

  • parseObject 时会根据定义的类(Student)的成员名称进行解析
  • 定义类(Student)的成员需定义为 public 类型,否则解析不出来,如 “sex” 字段
  • json string 中没有的字段(Student 有此成员),如 “home” 字段,解析结果为 null、0、false(对应 String、int、boolean 类型)等
  • 9
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值