json真的好严格

2013-05-29 00:53:19 +08:00
 kennedy32
换行不对,一个标点符号不对,单双引号不对都会引起整个表读不到
4828 次点击
所在节点    程序员
21 条回复
ccdjh
2013-05-29 01:00:06 +08:00
囧,你手写?
kennedy32
2013-05-29 01:15:03 +08:00
@ccdjh 不然呢,数据不多,以为手写比较方便,到后来…………
txlty
2013-05-29 01:31:06 +08:00
array to json函数,各种语言都有吧
json_encode($array);
kennedy32
2013-05-29 01:38:21 +08:00
@txlty 数据不多就没找,就当加深学习印象了
zhujinliang
2013-05-29 08:24:08 +08:00
唯一跟js中对象写法不同的就是key或字符串都要用双引号包裹,不是么
lichao
2013-05-29 08:28:09 +08:00
@zhujinliang 说得很对
liuyao729
2013-05-29 08:48:36 +08:00
好像没怎么错过。严格是好事呀
BOYPT
2013-05-29 09:11:35 +08:00
最恶心的就是手写构建xml/json数据的代码。好端端放着自动编码库不去用,写这样的东西来摧残代码维护者的狗眼
RisingV
2013-05-29 09:15:24 +08:00
json是我见过最宽松的了,连变量类型都没几个,很适宜人类阅读。ASN.1、XDR那些东西才叫严格复杂了。
tangzx
2013-05-29 09:20:54 +08:00
json严格的是语法,宽松的是语义, 严格的语法能让 lexer的效率更高,宽松的语义能够让其很容易被学习、编写、阅读
@RisingV
@kennedy32
davepkxxx
2013-05-29 09:38:14 +08:00
json语法一点都不严格吧。
yakczh
2013-05-29 10:30:20 +08:00
json属性值 要用引号括起来,js中object就不用
heroicYang
2013-05-29 10:34:45 +08:00
行数多了之后修改起来要小心谨慎,少掉逗号、引号就麻烦了。所以我一般都是用yaml,然后自动编译为json。
RisingV
2013-05-29 10:38:58 +08:00
@tangzx 基于string的而不是binary的数据交换格式,要处理各种不同的各种编码,效率上已经吃亏了,优点就是适宜于阅读。再者对于json,效率的问题,语法严格是其次的(为了提高容错性,很多lexer的实现其实对语法要求不严),主要是足够简单。xml语法也很严格,但是它太繁琐了。
0bit
2013-05-29 18:58:41 +08:00
我们公司用Python,总是看到有人不用json.loads()和json.dumps()而是用eval()和str()。
lotem
2013-05-29 20:30:03 +08:00
YAML 好。
yangzh
2013-05-29 21:54:10 +08:00
@RisingV json 标准要求utf8,不存在编码问题。
RisingV
2013-05-30 09:43:52 +08:00
@yangzh json的标准中根本没有这一条。即便标准是utf8。你能保证你获取的原始数据是utf8吗?你不需要封装的时候转化吗?只要是基于string,都要处理编码。
ijse
2013-05-30 11:47:48 +08:00
@kennedy32

有个cson, 还不错, 从coffee-script出来的。。。。
@kennedy32
@lotem
@yangzh
swulling
2013-05-30 12:11:23 +08:00
@RisingV
http://www.ietf.org/rfc/rfc4627.txt?number=4627

JSON text SHALL be encoded in Unicode. The default encoding is
UTF-8.

必须是Unicode,默认是UTF-8,也可以是UTF-16等

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/70465

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX