請問老師為什么自定義JSONResult對象去掉ok 屬性之后,返回json對象里面仍然有ok屬性
并且ok屬性是一個boolean 類型

但是同時刪除方法isOK()之后,返回對象就沒有ok屬性了
public?Boolean?isOK()?{
????return?this.status?==?200;
}并且ok屬性是一個boolean 類型

但是同時刪除方法isOK()之后,返回對象就沒有ok屬性了
public?Boolean?isOK()?{
????return?this.status?==?200;
}2022-07-18
舉報
2023-10-09
當一個類中定義了一個名為
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給出.
2022-11-05
你刪了屬性,文件沒重新編譯吧