1
cxbig 2017-09-15 03:08:45 +08:00
这明明是 JSON 的格式问题,干嘛怪 PHP。。。
|
2
autoxbc 2017-09-15 03:14:35 +08:00
引号?引号肯定不算,不管什么语言都得遵守 RFC
|
3
cxbig 2017-09-15 03:15:46 +08:00 4
http://www.json.org
好好看看 JSON 手册,value 是 string 类型的必须要用双引号。 |
4
ETiV 2017-09-15 03:31:56 +08:00
c 语言的一个槽点:
int n1 = 0.2, n2 = 1.8; int a = n1 + n2; printf("a = %d", a); // prints: a = 1 // we all know it should be 2 |
5
feiyuanqiu 2017-09-15 03:32:23 +08:00
hah,json_decode/json_encode 之后记得判断 json_last_error() === JSON_ERROR_NONE
如果你调用一下 json_last_error_msg(),大概就不会发这个槽点了... |
6
yyfearth 2017-09-15 06:33:14 +08:00
你用 JS 来 `var json = JSON.parse("{'a':'b'}")`
照样给你 `Uncaught SyntaxError: Unexpected token ' in JSON at position 1` 而你用 `var json= {'a':'b'}` 却没问题 |
7
isCyan 2017-09-15 08:16:46 +08:00 via Android
JSON 和 js 对象不是一个东西啊
|
8
askfilm 2017-09-15 08:26:02 +08:00
这明明是 JSON 的格式问题,干嘛怪 PHP。。。 +1
|
9
nameldk 2017-09-15 08:27:49 +08:00
naive
|
10
wly19960911 2017-09-15 08:28:31 +08:00 via Android
JSON 没有单引号,JSON 没有单引号,JSON 没有单引号
|
11
torbrowserbridge 2017-09-15 08:43:10 +08:00
楼主尴尬了
|
12
hisune 2017-09-15 08:44:57 +08:00
楼主尴尬了
|
13
waczx 2017-09-15 08:45:46 +08:00
楼主尴尬了
|
14
caijihui11 2017-09-15 09:00:31 +08:00
+1
|
15
Efraim 2017-09-15 09:05:39 +08:00
+
|
16
Sor 2017-09-15 09:06:17 +08:00
楼主尴尬了
|
17
to2false 2017-09-15 09:08:24 +08:00
楼主尴尬了
|
18
littleylv 2017-09-15 09:21:44 +08:00
楼主尴尬了
|
19
justudy 2017-09-15 09:21:49 +08:00
楼主尴尬了
|
20
resturlaub 2017-09-15 09:24:26 +08:00
明明是楼主的 满满的一个槽点
|
21
eoo 2017-09-15 09:25:02 +08:00 via Android
楼主尴尬了
|
22
kris7i 2017-09-15 09:27:08 +08:00
楼主尴尬了
|
23
welling 2017-09-15 09:27:36 +08:00 via Android
楼主尴尬,哈哈哈
|
24
Patrick95 2017-09-15 09:31:42 +08:00
楼主:擦,为何没有删帖功能。
|
25
xiaohuihui 2017-09-15 09:31:50 +08:00
楼主尴尬 +1
|
26
chairuosen 2017-09-15 09:33:44 +08:00 2
楼主吐槽的应该是有错并不抛,还要手动自己拿吧?
|
27
hheedat 2017-09-15 09:57:40 +08:00
楼主还需要再学习一个
|
28
victoryss 2017-09-15 09:58:06 +08:00
楼主尴尬 +10086
|
29
ydxred 2017-09-15 10:02:14 +08:00
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
|
30
Xrong 2017-09-15 10:04:55 +08:00
楼主真心尴尬了。。。
|
31
tabris17 2017-09-15 10:04:55 +08:00
不会用\"转义吗
|
32
ipwx 2017-09-15 10:10:42 +08:00
楼主尴尬了
|
33
imherer 2017-09-15 10:15:04 +08:00
。。。
|
34
wucao219101 2017-09-15 10:17:19 +08:00
楼主又要重新注册一个号了
|
35
cevincheung 2017-09-15 10:20:01 +08:00
楼主尴尬了
|
36
boks 2017-09-15 10:21:59 +08:00
吓得我都不敢随便发帖了。
|
37
plane OP json_decode()返回 Null 不抛出错误 难道不是一个....满满的槽点。
|
38
plane OP @chairuosen 系呀
|
39
lianxiaoyi 2017-09-15 10:24:02 +08:00
楼主尴尬了 +10010
|
40
kiwi95 2017-09-15 10:26:07 +08:00 via iPhone
不要啊老想着把语言批判一番
|
41
zjp 2017-09-15 10:27:11 +08:00 via Android 1
🙄楼主在注释里说了这里需要用一个错的 Json 字符串…只有#26 是明白人
|
42
plane OP @feiyuanqiu 还是会发( ˇˍˇ )....
|
43
plane OP @kiwi95 你们不要老想喜欢弄个大新闻,说现在已经钦定了 php 是最好的语言,就把我批判一番,你们啊,naive....
|
44
xttanwei 2017-09-15 10:32:49 +08:00
Returns the value encoded in json in appropriate PHP type. Values true, false and null are returned as TRUE, FALSE and NULL respectively. NULL is returned if the json cannot be decoded or if the encoded data is deeper than the recursion limit.
|
45
Jakesoft 2017-09-15 10:35:52 +08:00 2
问:json_decode()返回 Null 不抛出错误 难道不是一个....满满的槽点(吗?)
答:PHP 的原则是,就算你的代码写成一坨屎,它也尽量让你的代码跑下去。 楼主这个回答满意不, 逃) |
46
mrgeneral 2017-09-15 10:38:34 +08:00
最近这么多黑 PHP 的 真的知道怎么用 PHP 吗
|
47
raysonlu 2017-09-15 10:40:10 +08:00
@plane null 对于 php 的一般判断来说就是 false 啦,你还想抛出什么错误?要给你个错误提示? or 直接结束脚本执行?
|
48
zjsxwc 2017-09-15 10:42:50 +08:00
楼主搞得好像别的语言至此这种不规范的 json 写法一样. 大家都不支持, 没毛病
|
49
TypeErrorNone 2017-09-15 10:57:09 +08:00
JSON 支持的语法知道吗
|
50
66beta 2017-09-15 11:06:43 +08:00
Javascript 惊天大 BUG
0.1+0.2 = 0.30000000000000004 |
51
g0thic 2017-09-15 11:41:22 +08:00
v2ex 不能删帖系列
|
52
svenFeng 2017-09-15 11:53:36 +08:00 via Android
原来 PHP 是用 null 返回错误的。。。
wow。。。。。。。。。 |
53
konakona 2017-09-15 11:57:24 +08:00
你真的会 PHP 吗? 23333
json 里字符串是要用双引号的。 |
54
misaka19000 2017-09-15 12:11:45 +08:00 via Android
我都懒的黑 PHP 了,不过楼主再次让我确定 PHP 果然是世界上最好的语言,果然最好的语言才能造就出像楼主这样的程序员
|
55
AlwaysBee 2017-09-15 12:32:51 +08:00
楼主,惊喜不惊喜?(玩笑~
不过也是经验的问题吧,会有这样的疑问也不奇怪,下次吐槽谨慎一点 |
57
lepig 2017-09-15 12:53:18 +08:00
哈哈哈 我笑笑就好
|
59
miaotaizi 2017-09-15 12:59:08 +08:00
可惜不能删帖
|
60
zjsxwc 2017-09-15 13:26:46 +08:00
|
62
Elvis0 2017-09-15 13:30:56 +08:00
哈哈,好尴尬
|
63
iyaozhen 2017-09-15 13:31:42 +08:00
不抛异常这个事情确实值得吐槽,但是这也是语言本身的特性,基本靠返回值判断。这也没啥问题呀
|
65
weilongs 2017-09-15 13:40:18 +08:00
楼主尴尬了
|
66
Phariel 2017-09-15 13:44:26 +08:00 via Android
楼主你试没试过 JSON 里写注释呢 (滑稽
|
67
raysonlu 2017-09-15 13:56:28 +08:00
@plane 要考虑一下 PHP 的设计意图,如果 json_decode 也抛错误,那如何判断 decode 是否成功了?(如果返回一个对象或数组也显得麻烦),倒不如分开这些功能,coder 想怎么摆弄就怎么摆弄。
|
69
miniwade514 2017-09-15 14:07:37 +08:00
楼上吐槽楼主的,都没看懂楼主的槽点啊,所以楼主还是多写代码少吐槽吧,槽槽相吐何时了
|
70
Alex6 2017-09-15 14:10:41 +08:00
php 一路走到头,当然给你一个 null :-)
|
71
Technetiumer 2017-09-15 14:12:57 +08:00
|
72
sobigfish 2017-09-15 14:20:13 +08:00
那么问题来了,这题能不能作为面试题,难道几个 n 年经验的
|
73
Tokin 2017-09-15 14:20:56 +08:00
反正我不是很懂 json,每次想要需要的 json 的时候,我都是先写成数组,然后 php 转成 json。。。
话说,一般不会出问题才对啊,至少我会在 json_decode 之后 empty 判断一下数组是否有值。。。 |
74
vjnjc 2017-09-15 14:29:11 +08:00
因为 Java 会抛异常,
所以必须有捕获逻辑, 所以所以他们都说 Java 啰嗦 PHP 身为很简短的语言,当然不抛啦 |
75
usedname 2017-09-15 15:03:55 +08:00
https://www.v2ex.com/member/plane
广州 123 科技有限公司 / 全栈工程师 |
76
goodspb 2017-09-15 15:59:42 +08:00 via iPhone
楼主尴尬了
|
77
pynix 2017-09-15 16:09:59 +08:00
楼主尴尬了
|
79
coooooooode 2017-09-15 16:43:58 +08:00
你明显可以先看看手册
``` $json[] = "{'aaa': 'bbb'}"; $result = json_decode($json[0]); var_dump($result); var_dump(json_last_error(), json_last_error_msg()); ``` output: NULL int(4) string(12) "Syntax error" |
80
barbery 2017-09-15 19:50:04 +08:00
年轻人,不要老是想着弄一个大新闻,OK ?
|
81
leekafai 2017-09-15 19:58:26 +08:00 via Android
楼主满满的一个槽点
|
82
KWPr0 2017-09-15 20:00:48 +08:00
发帖后悔却无法删除甚至无法隐藏系列 日常 V2 笑点 😝
|
83
zthxxx 2017-09-16 00:45:29 +08:00
楼主满满的一个笑点 #V2 不能删帖日常#
|
84
haierspi 2017-10-19 15:16:51 +08:00
楼主真尴尬... 话说不能删帖是吧?
|