json真的好严格 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
kennedy32
V2EX    程序员

json真的好严格

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

    有个cson, 还不错, 从coffee-script出来的。。。。
    @kennedy32
    @lotem
    @yangzh
    swulling
        20
    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等
    diligence24
        21
    diligence24  
       2013-05-30 18:35:02 +08:00
    对称美~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1072 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 23:47 PVG 07:47 LAX 15:47 JFK 18:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86