为了账号安全,请及时绑定邮箱和手机立即绑定

请问老师为什么自定义JSONResult对象去掉ok 属性之后,返回json对象里面仍然有ok属性

并且ok属性是一个boolean 类型


http://img1.sycdn.imooc.com//62d498d8000148e502780122.jpg



但是同时删除方法isOK()之后,返回对象就没有ok属性了


public Boolean isOK() {
    return this.status == 200;
}



正在回答

2 回答

当一个类中定义了一个名为isok的方法,但没有定义ok成员变量时,返回的JSON中有ok值是因为在Java中,根据JavaBean规范,如果一个类中存在一个名为isOk的方法,那么它将被视为一个布尔类型的属性ok

以下是一个示例代码:

public class Result {    
    private String message;    
    public String getMessage() {        
        return message;
        }    
    public void setMessage(String message) {
            this.message = message;
        }    
    public boolean isOk() {        
        return true;
        }
}

在上述示例中,Result类中定义了一个isOk方法,但没有定义ok成员变量。当将该类实例化并转换为JSON时,JSON中会包含一个名为ok的键,并且其值为true

以下是一个使用Gson库将Result类转换为JSON的示例代码:

 import com.google.gson.Gson;public class Main {   
 public static void main(String[] args) {        
     Result result = new Result();
     result.setMessage("Success");        
     Gson gson = new Gson();        
     String json = gson.toJson(result);
     System.out.println(json);
    }
}

输出结果为:

{"ok":true,"message":"Success"}

你可以使用类似于Gson、Jackson等库来将Java对象转换为JSON。这些库会自动根据JavaBean规范将方法转换为相应的属性。----问题回答由ChatGPT给出.


0 回复 有任何疑惑可以回复我~

你删了属性,文件没重新编译吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问老师为什么自定义JSONResult对象去掉ok 属性之后,返回json对象里面仍然有ok属性

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信