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

2 篇文章 0 订阅

在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,其它情况一律不会转换(也许有遗漏的,请大家指正)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值