[問題] Android Json參數內不能有Null嗎?

看板Programming作者 (咲)時間5年前 (2019/01/03 19:33), 編輯推噓2(2023)
留言25則, 5人參與, 5年前最新討論串1/1
想請問一下,有在寫Android 或是IOS的大大, 小的我負責寫Web API (C#) 吐JSON 格式的資料給APP使用 目前遇到一個小疑惑還請各位大老解釋 我的API 會去資料庫把資料撈出後回傳JSON格式 大概如下 正常情況 {"d" : true , "Data" : {"a":"Hello","b":"_World",c:"!!"}} 部分情況會出現 {"d" : true , "Data" : {"a":"Hello","b":"_World",c:null}} 這個時候 Android 程式就會出現錯誤, 我們公司Android 的工程師 就會說請把C參數也變成回傳 空字串, 說Android 跟 IOS JSON 沒辦法讀取null 參數, 害他APP出錯都是我的錯神麼的OOXX。 讓我覺得很生氣,網頁端View 就可以判斷Null 值,為神麼手機APP就不行? 想請問各位大大是真的不能判斷Null,還是我被唬爛只是他不想改程式判斷? 因為如果要我這邊改,我可能要改幾百隻API -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.185.203 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1546515205.A.8F5.html

01/03 21:48, 5年前 , 1F
應該只是他們用的 lib 不支援,json 本
01/03 21:48, 1F

01/03 21:48, 5年前 , 2F
身規格有含 null 值得處理方式,一種是
01/03 21:48, 2F

01/03 21:48, 5年前 , 3F
直接不帶出該欄位,一種就是帶出 null,
01/03 21:48, 3F

01/03 21:48, 5年前 , 4F
但有時需要另外設定。
01/03 21:48, 4F

01/03 21:49, 5年前 , 5F
不然你就找你用的 lib ,看有無不輸出 n
01/03 21:49, 5F

01/03 21:49, 5年前 , 6F
ull 值的欄位。
01/03 21:49, 6F

01/05 22:21, 5年前 , 7F
這情況我常見 基本上是android端處理 因為
01/05 22:21, 7F

01/05 22:21, 5年前 , 8F
資料不完全要做例外處理 (跳警告卸責後端
01/05 22:21, 8F

01/05 22:21, 5年前 , 9F
也好 自己處理也罷)而不是放任它程式壞掉
01/05 22:21, 9F

01/13 17:37, 5年前 , 10F
公司有缺android工程師嗎?換掉即可
01/13 17:37, 10F

01/13 17:40, 5年前 , 11F
沒有做不到 只有想不想做,另外web的容
01/13 17:40, 11F

01/13 17:40, 5年前 , 12F
錯率很高 所以網頁通常有問題只是沒反
01/13 17:40, 12F

01/13 17:40, 5年前 , 13F
應而已,app設計通常有問題就是往上拋
01/13 17:40, 13F

01/13 17:40, 5年前 , 14F
到沒人接exception就會丟當機出來,為
01/13 17:40, 14F

01/13 17:40, 5年前 , 15F
了使用者體驗故意這樣設計的,所以體
01/13 17:40, 15F

01/13 17:40, 5年前 , 16F
驗永遠是app遠大於網頁
01/13 17:40, 16F

01/13 17:40, 5年前 , 17F
逼你去處理問題
01/13 17:40, 17F

01/13 17:43, 5年前 , 18F
Web通常是動態語言,而且很多都是瀏覽
01/13 17:43, 18F

01/13 17:43, 5年前 , 19F
器幫你處理掉這些錯誤了,null就頂多就
01/13 17:43, 19F

01/13 17:43, 5年前 , 20F
undefined <=這個還是有分配記憶體喔,
01/13 17:43, 20F

01/13 17:43, 5年前 , 21F
app則扯到存取記憶體問題,記憶體沒有
01/13 17:43, 21F

01/13 17:43, 5年前 , 22F
你去拿就死給你看
01/13 17:43, 22F

01/18 09:52, 5年前 , 23F
推一樓,null不該出現欄位
01/18 09:52, 23F

02/28 13:06, 5年前 , 24F
丟出 null 不是個好作法。很難追問題。另
02/28 13:06, 24F

02/28 13:06, 5年前 , 25F
外處理 null 要耗費資源。
02/28 13:06, 25F
文章代碼(AID): #1SBVC5Zr (Programming)