作者Minksaki (咲)
看板Programming
标题[问题] Android Json参数内不能有Null吗?
时间Thu Jan 3 19:33:23 2019
想请问一下,有在写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://webptt.com/cn.aspx?n=bbs/Programming/M.1546515205.A.8F5.html
1F:→ cancelpc: 应该只是他们用的 lib 不支援,json 本 118.168.201.28 01/03 21:48
2F:→ cancelpc: 身规格有含 null 值得处理方式,一种是 118.168.201.28 01/03 21:48
3F:→ cancelpc: 直接不带出该栏位,一种就是带出 null, 118.168.201.28 01/03 21:48
4F:→ cancelpc: 但有时需要另外设定。 118.168.201.28 01/03 21:48
5F:→ cancelpc: 不然你就找你用的 lib ,看有无不输出 n 118.168.201.28 01/03 21:49
6F:→ cancelpc: ull 值的栏位。 118.168.201.28 01/03 21:49
7F:推 lnmlee: 这情况我常见 基本上是android端处理 因为 101.14.178.179 01/05 22:21
8F:→ lnmlee: 资料不完全要做例外处理 (跳警告卸责後端 101.14.178.179 01/05 22:21
9F:→ lnmlee: 也好 自己处理也罢)而不是放任它程式坏掉 101.14.178.179 01/05 22:21
10F:→ JackChena: 公司有缺android工程师吗?换掉即可 39.9.5.196 01/13 17:37
11F:→ JackChena: 没有做不到 只有想不想做,另外web的容 39.9.5.196 01/13 17:40
12F:→ JackChena: 错率很高 所以网页通常有问题只是没反 39.9.5.196 01/13 17:40
13F:→ JackChena: 应而已,app设计通常有问题就是往上抛 39.9.5.196 01/13 17:40
14F:→ JackChena: 到没人接exception就会丢当机出来,为 39.9.5.196 01/13 17:40
15F:→ JackChena: 了使用者体验故意这样设计的,所以体 39.9.5.196 01/13 17:40
16F:→ JackChena: 验永远是app远大於网页 39.9.5.196 01/13 17:40
17F:→ JackChena: 逼你去处理问题 39.9.5.196 01/13 17:40
18F:→ JackChena: Web通常是动态语言,而且很多都是浏览 39.9.5.196 01/13 17:43
19F:→ JackChena: 器帮你处理掉这些错误了,null就顶多就 39.9.5.196 01/13 17:43
20F:→ JackChena: undefined <=这个还是有分配记忆体喔, 39.9.5.196 01/13 17:43
21F:→ JackChena: app则扯到存取记忆体问题,记忆体没有 39.9.5.196 01/13 17:43
22F:→ JackChena: 你去拿就死给你看 39.9.5.196 01/13 17:43
23F:推 arliang: 推一楼,null不该出现栏位 101.8.224.126 01/18 09:52
24F:→ liddle: 丢出 null 不是个好作法。很难追问题。另 101.13.197.255 02/28 13:06
25F:→ liddle: 外处理 null 要耗费资源。 101.13.197.255 02/28 13:06