201
aaronysj 2018-08-15 19:02:38 +08:00
PHP 肿么了,别没事就黑啊
|
203
CasualYours 2018-08-15 19:21:12 +08:00 via Android
老哥,你这是引战贴啊。
|
204
Viztor 2018-08-15 19:35:47 +08:00
楼主说的没错啊。
只是好好沟通不行吗,又不难改。没必要开嘲讽。 程序员并一定是年纪越大越厉害的。厉害的好像都喜欢做管理? |
205
fansangg OP @hoosin 所以你是从哪看出来我不懂后端又是从哪看出来我只写过 hello world 呢?
|
206
fansangg OP @hoosin 是 java spring 和 nodejs express 在你的认知中难到只能让人止步于 hello world ?还是我认为你不懂你就是不懂?
|
208
EPr2hh6LADQWqRVH 2018-08-15 20:21:40 +08:00
@hoosin 轮椅再高级也教不会你走路
|
209
codz 2018-08-15 20:26:26 +08:00
即便是一个 jsonarray 也是需要沟通, 这个 json 长度, 每个字段里存储的数据格式等,不能太笼统的就要个 json.
|
210
markx 2018-08-15 20:26:49 +08:00
错了就是错了啊。 我不明白为什么大家都嘲讽楼主。
|
212
flight2006 2018-08-15 20:30:56 +08:00
用 java spring mvc 的话想返回"[]"都有点 费劲吧。。。
|
215
fansangg OP @hoosin 我有把 spring 和 express 拎出来讨论吗?你的主页描述讲的很真实,以后搞清楚了论点是什么再出来杠人
|
217
qiukong 2018-08-15 20:47:32 +08:00
PHP 的 array()用 json_encode 输出是[]没错,可能你们程序框架哪出了问题,把数组转换成字符串了。
|
218
Sharuru 2018-08-15 21:18:39 +08:00
回复里一些前斯林惹不起惹不起。
|
220
falcon05 2018-08-15 21:58:17 +08:00 via iPhone
我也做 php 的,表示这个后端水平是真的不行,返回"[]"这个没法洗。
|
221
ferock 2018-08-15 22:02:07 +08:00
洗的不专业
|
222
lepig 2018-08-15 22:17:08 +08:00 1
这点小事也跑来吐槽 4 年了还这么心浮气躁
|
224
mingyun 2018-08-15 22:54:48 +08:00
为什么标题是 8012 年?
|
226
mkeith 2018-08-15 23:14:36 +08:00 via iPhone 1
估计本来 addr 变量默认值是“”,查询到值后赋值数组吧,然后让返回[],就直接修改为“[]”了吧,本来可以返回 null 或者不返回这个字段值
|
227
ReysC 2018-08-15 23:20:18 +08:00
我也有过这么奇葩坑队友的时候,而且次数不少。
|
228
realkaiway 2018-08-15 23:37:46 +08:00 via iPhone
你这还算好的…你敢信我同事写后台的接口我 fetch 之后不返回任何东西嘛,我当时看他的眼神就有点崇拜了
|
229
DOLLOR 2018-08-15 23:49:13 +08:00
经常遇到服务器返回 50X 错误的笑笑不说话
|
230
firebroo 2018-08-16 00:05:49 +08:00 via Android
我觉得第一次可能是没沟通好,第二次返回那个我觉得就是你同事真的菜。。
楼上那么多人黑 PHP 干嘛,写别的有优越感?PHP 真的挺好用的呀 |
231
zzNucker 2018-08-16 00:49:55 +08:00
某些人的优越感,上来就“你不懂后端”,然后开始意淫贬低“写过 hello world 也算写过吗”,“不要把 Express 跟 Spring 相提并论” 。。。 真是笑吐了
真替后端兄弟们感到羞耻 |
232
fansangg OP @zzNucker 没什么意思,一个话题就炸出了社区里那么多水货,连基本常识都没有就上岗写代码了,行业发展大不如前了。
|
233
yukunyi 2018-08-16 08:49:22 +08:00 2
我的天,评论里的都是程序员么。。。一个 json 格式都不了解的 30 岁的后端,还能洗?咋混出来的
|
234
yukunyi 2018-08-16 08:51:51 +08:00
还有,楼主有提过是什么语言框架么,是怎么扯到 spring 和 php 上面的,这个和语言框架有毛关系
|
235
forYou 2018-08-16 08:55:21 +08:00
搬个小板凳
|
236
iceheart 2018-08-16 09:41:50 +08:00 via Android
1.有没有定接口协议?
没规范,那是规范制定上有问题。 2.有没有经过测试? 没测试,那是工作流程上有问题。 3.如果问题 1 是 yes,2 也是 yes,那就没这个问题。 如果 1 和 2 都是 no.那就扯皮吧 |
237
jzz7280 2018-08-16 10:06:55 +08:00
看了评论,猪队友挺多的
|
238
xhf3894 2018-08-16 10:27:58 +08:00
我也遇到过,对象为空死活要返回空字符串,明明那个对象一般是 Number、json 等
|
239
xiaogan18 2018-08-16 10:46:38 +08:00
你确定人家不是故意的?没有服务端能忍受前端在那指手画脚吧
|
240
xiaogan18 2018-08-16 10:51:44 +08:00
说猪队友过分了,后端精力大部分都放在业务逻辑处理了,接口都是随手一写,你只能说他不用心。
我是前后端都做,想要什么写什么 |
241
flyingghost 2018-08-16 11:03:58 +08:00 1
抛开 lz 略失君子风度的瑕疵之外,
问题本身绝对是低级问题,是根本连 json 规范的类型系统都没搞清楚,连接口约定都不遵守的低级问题。 整楼居然还能发现这么多习以为常的开发人员,吓了我一大跳啊! emmmmmm,本来以为 v2 上大拿车载斗量,精英过江之鲫,小白都瑟瑟发抖不敢说话呢。。。 颠覆了,颠覆了啊。 |
242
fansangg OP @xiaogan18 没什么好洗的了,缺乏常识就是缺乏常识,就算你再怎么洗,白丁也洗不成鸿儒;还有就是如果一个人告诉你说 1+1 是等于 2 的也算是指手画脚的话,那就算是我在指手画脚吧。
|
243
iamlsd001 2018-08-16 11:11:28 +08:00
按照 json 本身规范( http://www.ietf.org/rfc/rfc4627.txt),应该返回 null。同时,大部分互联网公司,比如 google 的规范中( https://google.github.io/styleguide/jsoncstyleguide.xml),对于无意义的 null 值,可以删除 null 值字段。均有道理。但是返回字符串""或者"[]"是不符合规范的。
|
244
zhjits 2018-08-16 11:14:08 +08:00 1
防御性编程啊
try { parse_json(); catch { alert("后端错误"); } |
245
iamlsd001 2018-08-16 11:32:23 +08:00
@fansangg 按照 json 本身规范( http://www.ietf.org/rfc/rfc4627.txt ),应该返回 null。同时,大部分互联网公司,比如 google 的规范中( https://google.github.io/styleguide/jsoncstyleguide.xml ),对于无意义的 null 值,可以删除 null 值字段,即不返回该字段。这两种都是常用处理方式,均有道理。但是返回字符串""或者字符串"[]"是不符合规范的。
|
246
edwardChen 2018-08-16 11:39:38 +08:00
我已经麻木了,不管怎么样定义的都会做容错
|
247
fansangg OP @iamlsd001 是的,我的主题讲的就是 json 不规范,所以现在的情况是 不懂的人习以为常,还要来讲你自己怎么不作处理,懂的人呢在惊讶为什么社区里居然还有 json 规范都不懂的人在这里大放厥词。
|
248
Eugene1024 2018-08-16 11:48:29 +08:00
这么点小事也来吐槽,LZ 看来经历也不多,江湖上什么样的人都有
|
250
veelog 2018-08-16 12:51:03 +08:00 via iPhone
多一分谅解,人生更加美好
|
251
xcaspar 2018-08-16 12:57:30 +08:00
“我的天呐,真的是改好了,太优秀了!从业以来遇到过最优秀的同事!”
---- 《搞笑一家人》副校长既视感 :-) |
252
wly19960911 2018-08-16 13:02:16 +08:00 1
这里后端洗地真多,没法沟通,低级错误都能犯。
这就跟你让他刹车,他踩一脚油门一样,常识错误都能犯。 我没碰过类型不对,但是我碰过空值给我穿个 [""] 让我前端去校验,累死人 |
253
wly19960911 2018-08-16 13:03:33 +08:00
@wly19960911 #252 传个 [""], 本身是 List 类型没错就是,问题是字符串解析的数组,自己取数据有问题,数据库就是 "",如果有数据就是 "a,b,c"。
|
254
hoosin 2018-08-16 13:59:32 +08:00 2
一口一个 “猪队友” 、“ 8012 年了” 、“ 30 了” 、“那么菜”,有这个时间来 v2 抱怨吐槽,什么问题都解决了,楼主你还是先学会做人吧,还有是 “ JSONArray ” 不是 “ jsonarray ”。
|
255
imdupeng 2018-08-16 15:24:33 +08:00 1
人非圣贤谁能无过?
楼主逮着 json 这么点儿芝麻小事就爆猪队友,言辞各种恶心,能讲人话不? 就算他拉的屎不规范,你不想整理直接吃,但你特妈的不能和拉屎的好好沟通么? shit ! |
256
GoodRainChen 2018-08-16 15:39:15 +08:00 1
前面返回空了反倒没事儿,大家商量着来
可是返回个"[]"当空数组也是没谁了,这不是菜是什么?评论里居然还有这么多喷楼主的,是业界水平变低了还是触碰到某些菜鸟的自尊心了。 自尊不是这么来的啊,低级错误挨打要认 |
257
fansangg OP |
258
grewer 2018-08-16 16:11:58 +08:00 1
"[]" 这不是菜是什么 ??!!!
错了就要挨打好吧 |
259
alvince 2018-08-16 16:12:49 +08:00
这么多洗地的真是看不下去。。。
楼主明明吐槽的是后端连 JSON 规范格式都没整明白,跟公司业务规范什么的有关系? 没有看不起 php 的意思,但是洗的大概都是 php 的。。吧,其他语言框架想输出个 "[]" JSON 也不容易 = = |
260
v2sir 2018-08-16 17:20:33 +08:00
作为一个资浅爬虫工作者, 就想说一句,艾玛, 这算事?现在的前端怎么辣么脆弱?😄
|
261
psychoo 2018-08-16 17:43:00 +08:00
评论真的很奇怪
|
262
stanley0black 2018-08-16 17:49:50 +08:00
没做前端之前不知道原来做后端真的是轻视前端的,以前自己写接口写页面.现在找后端要个接口,自己给的是对象,硬是要我循环写个列表出来,倒是给个数组啊.错了还不认
|
263
jacksonhr 2018-08-16 17:51:23 +08:00
@alvince php 写出这种返回值只能说这货写法有问题,我之前也写过 php,打印的话确实是"[]"这种格式(因为打印 dump 不管之前什么格式全部转换成字符串),但是接口返回都输出之类的都是正常的[]或者 null 的,不会出现应该是[]结果成"[]"情况的
|
264
ramen 2018-08-16 18:02:44 +08:00 1
以下观点真不是为了杠
1.看起来 30 岁不一定是 30 岁,也许是个新人,长的老点。我 20 出头的时候,就有人说我 40 多。 2.有的人不善于沟通,很容易陷入他人思维。可能没理楼主的具体意思,懒得想,还不好意思问。不求甚解+懒+不善沟通,所以楼主说要中括号就加上了。其实这种人比“菜”更可怕。 3.因为菜就可以指责,是否能容忍他人对你的指责? 4.我还是没明白,为什么要设计成:address 有值返回字符串,空的话返回数组 5.两个程序员随便就把接口定了(或者没定),随便就把接口改了。现在都这么随意了么? |
265
encro 2018-08-16 18:05:20 +08:00
假设数据库
$data = $db->select('*')->from('adress'); 本来一行代码: return json_encode($data); 你要求人家写 $data->address?:[] return json_encode($data); 然后对方写成了 $data->address?:"[]" return json_encode($data); |
266
MrSheng 2018-08-16 18:07:29 +08:00
可能是历史遗留问题。
之前有个项目也是 json,空字段返回 null,结果对接的说怎么能是 null 呢,全部改成"",后来才发现公司之前就是这么约定的,你按照规范给他 null,他就报错了 --- 他根本没校验过对吧,为了能然系统跑起来你不得不吧所有的 null 转换为""。 更常见的是,前端给你的是 json,但是 Content-type 你看看有几个对的? |
267
azh7138m 2018-08-16 20:52:03 +08:00 via Android
|
268
jss 2018-08-17 07:59:57 +08:00 via iPhone
你可拉到吧,空就是空 为什么要给你 array
|
269
ragnaroks 2018-08-17 08:44:00 +08:00
后端肯定不是 php/.net/java,起码自带 json 编码方法出来都是合规的.
看了上面的回复我觉得没有必要面算法了,直接问他 json 空数组怎么表示 |
270
lengleng 2018-08-17 08:44:27 +08:00
心智不熟啊
|
272
KuroNekoFan 2018-08-17 10:29:55 +08:00
在 json 格式的前提下,返回"[]"这种我觉得是怎么都没得洗的吧,只能说这个人是连 json 最基本最基本的规范都不清楚
|
273
hermithacker 2018-08-17 10:31:40 +08:00
后端,客户端本就互不信任,传递数据两边都得做好数据校验和异常处理。说猪队友就过了,人有所长,只盯着人短处没意思了
|
274
NicholasYX 2018-08-17 10:56:53 +08:00
我觉着你们可能没有看清楼主说的是 空数组返回的是 “” 而不是[] address 本来就是数组为什么要返回“” 你们还在这杠
|
275
fansangg OP @NicholasYX 我也觉得你可能没理解那些杠的人,可能在他们的认知里,空我就给你返回"",我管你什么类型。
|
276
NicholasYX 2018-08-17 11:20:37 +08:00
@fansangg 哈哈哈哈哈,数组能传出来个“”也挺牛逼的 手动滑稽
|
277
royzxq 2018-08-17 12:07:01 +08:00
弱弱的问下哪个语言 /框架空数组能返回 "[]" 的, 我想见识见识。
|
278
mingzepeng 2018-08-17 12:34:42 +08:00
虽然这个问题在于后端,不过看到楼主这种态度,我是不敢招的。这种小问题都能发个帖来上纲上线,真是幼稚
|
279
KasonPasser 2018-08-17 13:11:51 +08:00
有一句后端的名言是:不要相信前端传过来的所有数据。
同样,也可以反过来:前端你不要相信后端能给到你所想要的数据格式。 |
280
fansangg OP @mingzepeng 彼此彼此
|
281
derrickT 2018-08-17 13:46:59 +08:00
1. 这是明显的错误,喷楼主的什么心态
2. 接口规范应该定义好 3. 沟通很重要 |
282
mingl0280 2018-08-17 15:09:39 +08:00
如果 address 应该是个数组,那么确实应该返回空数组,返回其它的都是不专业的表现。
如果 address 是个字符串,那么就应该返回空字符串…… |
283
bzw875 2018-08-17 15:47:56 +08:00
习以为常了
|
285
JaxXu 2018-08-17 16:25:35 +08:00
@KasonPasser 偷换概念,不要相信前端传过来的数据只是要做数据校验,但是格式总是定好的吧,后端不给定好的格式返回,没得洗的
|
286
v2chou 2018-08-17 16:27:57 +08:00
@KasonPasser 还能这样理解? 社会
|
287
aaronysj 2018-08-17 16:48:01 +08:00
咋还这么多人
|
288
dryyun 2018-08-17 16:48:07 +08:00
这后端可能不咋地,但是你这前端就不能容错一下?
规范是要定规范的,但是架不住有意外情况发生呀。 调个接口,502,前端又来说了,后端 xxx,害我前端报错了。后端也无奈。 所以我说做好自己的事情。 |
290
dryyun 2018-08-17 17:13:24 +08:00
@JaxXu 恩,我也没为这后端说什么,也确实觉得这后端在接口返回这块确实做的不好。
只不过楼主这态度,有点无语。 一来就是 [猪队友] [混日子] ,一副自己很厉害的样子,好好讨论事情,好好的描述这事不行嘛。 |
291
way2create 2018-08-17 17:16:10 +08:00
见过集成环境+个扩展折腾好几天,跟 mod_rewrite 都不知道的多年开发经验组长吗
|
292
way2create 2018-08-17 17:17:54 +08:00
相对技术,我更反感技术差的同时又爱装腔作势,然后为人跟态度很差的同事
|
293
fansangg OP @dryyun 既然你说我不够包容,那我就把这件事敞开来说一说,我工作效率比较高,这是同事们都认可的,正常情况下我是准时下班的,这么多年来都是这样。上次是因为数组返回字符串这样的小事情耽误了我的时间,这是一个很低级的错误没错,而且我说明之后还把"[]" 当数组返回给我,你要说他是刚毕业的我倒不觉得怎么样,还会耐心的和他讲解一下,但这位和我对接的同事是 89 年的 29 岁,比我大两岁,履历经验应该都是比我丰富的才对,但是他犯了这样一个错误,而且应该还不是粗心大意所犯的,最重要的是耽误了我这边的时间,我骂他「傻逼」其实都不为过;你要是出了什么比较难解决的 bug,我还会和你一起 debug,一起想解决方案,可偏偏是这样无知低能的错误,我相信放在任何一个人身上都会不舒服。
|
294
nothingtodo 2018-08-17 17:24:43 +08:00
张口就骂人,配合你才怪
|
295
nothingtodo 2018-08-17 17:25:04 +08:00
尖酸刻薄,人品差
|
296
YvesX 2018-08-17 17:28:32 +08:00
也不是什么大事,对方理解有误或者没注意到哪个地方发生了转换而已,至于挂城墙吗?
以前我给人说,遇到某一类错误,不用管那么多细节,一直返回 500 就好。 回头发现对方开了个永真 for 循环不停返回 500 …… |
297
phpcxy 2018-08-17 17:31:16 +08:00
这个后端绝对是没法洗的。应该是赋值时候手抖打多了引号导致的问题,我猜他改完后也没跑一下很自信地就提交了。
|
298
yy1984 2018-08-17 17:34:10 +08:00 via Android
这帖子丰富了我的 block 名单,错就是错,做错就要认,挨打要立正。一堆无脑后端在抨击楼主的态度
|
299
bajie 2018-08-17 17:39:02 +08:00
前端不如狗,diss 前端的月经贴怎么不见这么多理智人士,楼主作为一个前端出来 diss 后台马上被喷出翔
|
300
hiddendeerer 2018-08-17 17:43:03 +08:00
满满负能量的抱怨贴
|