后端將數(shù)據(jù)轉化為json字符串傳輸?shù)姆椒ㄔ斀?/h1>
更新時間:2020年08月30日 16:21:34 作者:小強Zzz
這篇文章主要給大家介紹了關于后端將數(shù)據(jù)轉化為json字符串傳輸?shù)南嚓P資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
前言
在寫后端的c層返回字段斷言的時候,進行對于user對象的isAdmin字段斷言。相關實體類字段如下
/**
* 是否是超級管理員
*/
private Boolean isAdmin = false;
public Boolean getAdmin() {
return isAdmin;
}
public void setAdmin(Boolean admin) {
isAdmin = admin;
}
當我斷言時,我斷言isAdmin字段存在
但是他報錯說不存在$.isAdmin。

后端變json字符串原理

解決方法是打印一下相關數(shù)據(jù),看見返回值為“admin”: true,我們將isAdmin改成admin,運行通過。但是為什么是admin而不是isAdmin呢?在我過去的認知里,json字符串的鍵值一直跟對象的屬性名稱相同,但是這里卻出現(xiàn)了不一樣??磥砦业睦斫忮e了。
詢問老師后得知,對象轉變成json字符串的鍵值是根據(jù)屬性對應的get方法生成的。
比如我們在這里的isAdmin對應的get方法
public Boolean getAdmin() {
return isAdmin;
}
具體變化為得到相應的get方法的方法名,像上面的就是getAdmin。然后去掉get,再將首字母變?yōu)樾憽_@就是為什么是鍵值是admin而不是isAdmin了。
我們將get方法名改為getIsAdmin,此時我們就應該斷言isAdmin字段存在了。
實體類的get、set方法
為什么isAdmin字段要寫成getAdmin方法名而不是getIsAdmin方法名。
當我們寫實體類時,IDEA可以幫助我們自動生成getter/setter方法。
鼠標右鍵->Generate->Getter and Setter,然后選取想要生成的對應屬性即可。

我們發(fā)現(xiàn)一個問題,我們寫一個Boolean類型的admin屬性與Boolean類型的isAdmin屬性生成的是相同方法名稱的getter/setter方法。也就是getAdmin方法名。
究其原因??淳W上有說阿里是禁止Boolean類型的字段已is打頭的,也有人說不推薦這種寫法。具體可以看這篇文章:阿里規(guī)范:為什么boolean類型變量命名禁用is開頭
總結
到此這篇關于后端將數(shù)據(jù)轉化為json字符串傳輸?shù)奈恼戮徒榻B到這了,更多相關后端將數(shù)據(jù)轉化為json字符串傳輸內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
-
使用Java實現(xiàn)HTTP和HTTPS代理服務詳解
這篇文章主要為大家詳細介紹了如何使用Java實現(xiàn)HTTP和HTTPS代理服務,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下 2024-04-04
-
深入解析Java的Spring框架中的混合事務與bean的區(qū)分
這篇文章主要介紹了Java的Spring框架中的混合事務與bean的區(qū)分,Spring是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下 2016-01-01
最新評論
前言
在寫后端的c層返回字段斷言的時候,進行對于user對象的isAdmin字段斷言。相關實體類字段如下
/** * 是否是超級管理員 */ private Boolean isAdmin = false; public Boolean getAdmin() { return isAdmin; } public void setAdmin(Boolean admin) { isAdmin = admin; }
當我斷言時,我斷言isAdmin字段存在
但是他報錯說不存在$.isAdmin。
后端變json字符串原理
解決方法是打印一下相關數(shù)據(jù),看見返回值為“admin”: true,我們將isAdmin改成admin,運行通過。但是為什么是admin而不是isAdmin呢?在我過去的認知里,json字符串的鍵值一直跟對象的屬性名稱相同,但是這里卻出現(xiàn)了不一樣??磥砦业睦斫忮e了。
詢問老師后得知,對象轉變成json字符串的鍵值是根據(jù)屬性對應的get方法生成的。
比如我們在這里的isAdmin對應的get方法
public Boolean getAdmin() { return isAdmin; }
具體變化為得到相應的get方法的方法名,像上面的就是getAdmin。然后去掉get,再將首字母變?yōu)樾憽_@就是為什么是鍵值是admin而不是isAdmin了。
我們將get方法名改為getIsAdmin,此時我們就應該斷言isAdmin字段存在了。
實體類的get、set方法
為什么isAdmin字段要寫成getAdmin方法名而不是getIsAdmin方法名。
當我們寫實體類時,IDEA可以幫助我們自動生成getter/setter方法。
鼠標右鍵->Generate->Getter and Setter,然后選取想要生成的對應屬性即可。
我們發(fā)現(xiàn)一個問題,我們寫一個Boolean類型的admin屬性與Boolean類型的isAdmin屬性生成的是相同方法名稱的getter/setter方法。也就是getAdmin方法名。
究其原因??淳W上有說阿里是禁止Boolean類型的字段已is打頭的,也有人說不推薦這種寫法。具體可以看這篇文章:阿里規(guī)范:為什么boolean類型變量命名禁用is開頭
總結
到此這篇關于后端將數(shù)據(jù)轉化為json字符串傳輸?shù)奈恼戮徒榻B到這了,更多相關后端將數(shù)據(jù)轉化為json字符串傳輸內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用Java實現(xiàn)HTTP和HTTPS代理服務詳解
這篇文章主要為大家詳細介紹了如何使用Java實現(xiàn)HTTP和HTTPS代理服務,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-04-04深入解析Java的Spring框架中的混合事務與bean的區(qū)分
這篇文章主要介紹了Java的Spring框架中的混合事務與bean的區(qū)分,Spring是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2016-01-01