POJO类中的布尔类型

阿里巴巴开发手册中:

“POJO类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误。反例:定义为基本数据类型boolean isSuccess 的属性,它的方法也是isSuccess(),RPC框架在反向解析的时候,以为对应的属性名称是success,导致属性获取不到,进而抛出异常”。

package org.cjr.test.testmodel;

import java.io.IOException;
import java.io.Serializable;

import com.alibaba.fastjson.JSON;
import com.google.gson.Gson;

public class BooleanTest {
	
	public static void main(String[] args) throws IOException {
		 Model model  =  new Model();
		 model.setSuccess(true);
		 Gson gson =new Gson();
		 
		/**根据{“success”:true}这个json串,Gson框架在通过解析后,通过反射寻找Model类中的success属性,
		但是Model类中只有isSuccess属性,所以,最终反序列化后的Model类的对象中,isSuccess则会使用默认值false。
		 * 
		 */
		 System.out.println(gson.fromJson(JSON.toJSONString(model), Model.class));
		 
		 System.out.println(gson.toJson(model));
	}

}
class Model implements Serializable
{
	private boolean isSuccess;
    public boolean isSuccess() {
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值