FASTJSON转换JAVA对象规则研究分析

本文通过一个示例类说明了在Java中使用FastJSON将对象转换为JSON字符串时的具体规则。重点介绍了哪些成员变量和方法会被转换,以及转换过程中的关键细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在JAVA对象转换JSON字符串时,FASTJSON是如何工作的,那些成员变量和方法会被转换成JSON字符串

1,先看代码

public class JsonTEST {
	public String a="公共变量";
	private String b="私有变量(无GET)";
	private String c="私有变量(有公共GET)";
	public String getC() {
		return this.c;
	}
	public String getD() {
		return "公共方法(get命名)(无对应公共变量)";
	}
	private String getE() {
		return "私有方法(get命名)(无对应公共变量)";
	}
	public String fF() {
		return "公共方法(普通命名)";
	}
	private String gG() {
		return "私有方法(普通命名)";
	}
	public String h="公共变量";
	public String getH() {
		return "公共方法(get命名)(有对应公共变量)";
	}
	public String getx() {
		return "公共方法(get命名全小写)(无对应公共变量)";
	}
	public String getxX() {
		return "公共方法(get命名第二个字母大写)(无对应公共变量)";
	}
	public String getxxXxxx() {
		return "公共方法(get命名第三个字母大写)(无对应公共变量)";
	}
	public static void main(String[] args) {
		System.out.println(JSON.toJSONString(new JsonTEST()));
	}
}

2,输出

{"a":"公共变量","c":"私有变量(有公共GET)","d":"公共方法(get命名)(无对应公共变量)","h":"公共方法(get命名)(有对应公共变量)","xX":"公共方法(get命名第二个字母大写)(无对应公共变量)"}

3,结论:

1,公共变量一定转换,key就是公共变量的名字

2,公共方法只有带返回值并且get开头并且get后面2位字符里有大写字母的会被转换,key为第一个字母小写

3,如果同时满足1,2且最后的key是一样的,优先使用方法的值

4,其它情况一律不会转换(也许有遗漏的,请大家指正)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值