• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kisshere
V2EX  ›  程序员

JSON 设计得真的反人类,为什么不能像 PHP 数组那样简洁明了?

  •  
  •   kisshere · Mar 16, 2022 · 17407 views
    This topic created in 1548 days ago, the information mentioned may be changed or developed.
    我到现在都还没搞明白什么时候该用大括号,什么时候该用中括号,另外,我还是没搞明白 key 到底要不要加引号???加不加引号是否影响各种浏览器兼容性?为什么不像 php7 那样直接全部用中括号,统一格式,简洁明了。这为本来就复杂的前端更加雪上加霜
    Supplement 1  ·  Mar 16, 2022
    给 phper 丢脸了,被喷也值了,我还是去恶补一下前端知识吧
    134 replies    2022-03-18 15:23:53 +08:00
    1  2  
    qsnow6
        101
    qsnow6  
       Mar 16, 2022
    @dongfang #99 确实蛮多的
    ikas
        102
    ikas  
       Mar 16, 2022
    看到还有人说 xml 什么的...难道没人知道 e4x 了吗???

    好不好用,无非就是人为支持而已
    novaa
        103
    novaa  
       Mar 16, 2022
    喷子真多 为喷而喷 散了吧
    zhengfan2016
        104
    zhengfan2016  
       Mar 16, 2022
    额。。。我觉得 json 挺好的,不管是 python 还是 js 用的非常舒服。初用 php 的时候还纳闷既然可以用["a","b"],怎么不能用 json 的{"a":"b"},后来发现 php 的是["a" => "b"]这种写法,也很快适应了。
    magicdawn
        105
    magicdawn  
       Mar 16, 2022
    JSON: 是 JavaScript Object Notation
    因为太好用了, 所以被其他语言 adapt, 你这喷的没水平啊~
    Seanfuck
        106
    Seanfuck  
       Mar 16, 2022
    json 好用,php 的 array 更好用,xml 难用,别光喷,实用就是王道。
    jk0001688
        107
    jk0001688  
       Mar 16, 2022 via Android
    @BeautifulSoap 字典是什么我 c++ php 都会没听说过字典
    BeautifulSoap
        108
    BeautifulSoap  
       Mar 16, 2022 via Android
    @jk0001688 建议仔细阅读原文,我说的是“字典(或 map)”,你用 c++的不会连 map 都不认识吧。不同语言叫法不同罢了
    tpkeeper
        109
    tpkeeper  
       Mar 16, 2022
    哈哈,在 phper 的卧底吧
    darknoll
        110
    darknoll  
       Mar 16, 2022 via Android
    用 yaml 吧,那个好
    encounter2017
        111
    encounter2017  
       Mar 16, 2022
    @rekulas 没放反。因为老老实实写问题描述记录日志,大多数人都不会认真看。挑起争议话题立刻就有人来给你纠正标准做法了
    jk0001688
        112
    jk0001688  
       Mar 16, 2022 via Android
    @BeautifulSoap map 又不代表 c++,c++里面 list map 都可以手写又不代表啥,php 的 hashmap 百分 99 的程序员都写不出来
    3dwelcome
        113
    3dwelcome  
       Mar 17, 2022   ❤️ 1
    楼上别把字典和 std::map 的和 hash 之类搞混啊。

    JSON 字典是有序的,也就是 json 里一个对象,通过 for (key in map)去遍历,是保留原始是顺序的。
    map 是红黑树实现,扔进去后访问是无序的,也就是没办法保留原始 key 的前后顺序。
    hash 一般也是无序的,高级语言为了大家用着方便,可能会加个有序的额外包装容器。
    YvesX
        114
    YvesX  
       Mar 17, 2022
    JSON 就是设计得稀烂啊,但 OP 没喷好,请重新喷一下。
    dayeye2006199
        115
    dayeye2006199  
       Mar 17, 2022
    可能有点反楼主
    dingwen07
        116
    dingwen07  
       Mar 17, 2022 via iPhone
     但凡写过点 python
    dingwen07
        117
    dingwen07  
       Mar 17, 2022 via iPhone
    顺便提一下我认为最难用的是 plist 属性表
    RickyC
        118
    RickyC  
       Mar 17, 2022
    键从 0 开始的有序数组用[], 别的用{}
    -----
    感觉 json 比 php 先进
    -----
    楼主这是什么情况?
    xqk111
        119
    xqk111  
       Mar 17, 2022
    我惊呆了
    xqk111
        120
    xqk111  
       Mar 17, 2022
    @raptor 第一次了解 PHP ,原来在 PHP 中两个都是用 [],惊呆了
    DefoliationM
        121
    DefoliationM  
       Mar 17, 2022
    转行吧...
    ryanbuu
        122
    ryanbuu  
       Mar 17, 2022
    用 string 吧,简洁明了(?)
    BeautifulSoap
        123
    BeautifulSoap  
       Mar 17, 2022 via Android
    @jk0001688 ?逻辑不清不知所云。我想说的是 lz 分不清数组还有 key-value 这种数据结构的区别。而不同语言中 key-value 数据结构的名称不同,c++,java ,go 管它叫 map ,Python ,C#管它叫字典,所以我说“字典(或 map )”有问题?
    binge921
        124
    binge921  
       Mar 17, 2022
    真就是你的问题 很大的问题
    chniccs
        125
    chniccs  
       Mar 17, 2022
    我觉得你是来黑 PHP 的
    wenzichel
        126
    wenzichel  
       Mar 17, 2022
    现在很多都开始用 yaml 来配置了!
    Raos
        127
    Raos  
       Mar 17, 2022
    尼可能要收藏一个 JSON 册子 https://quickref.me/json
    sockball07
        128
    sockball07  
       Mar 17, 2022
    我就说一句以前没感受到的 在垃圾项目里面才发现 php 数组这玩意就是个黑箱 还到处传这传那 里面到底有什么根本就不知道
    ohmycorolla
        129
    ohmycorolla  
       Mar 17, 2022
    {}是对象,如{"name":"apple","age":77}
    []是数组,如[1, 2, 3, 4]
    key 要加双引号
    举例一个学生对象:
    {
    "name":"paul",
    "age":20,
    "books":[
    {
    "name":"了不起的盖兹比",
    "price":27.00
    },
    {
    "name":"三国演义",
    "price":33.50
    }
    ]
    }
    Jekins
        130
    Jekins  
       Mar 17, 2022
    我觉得 json 很好啊.清晰明了. xml 真是能把人看吐了
    hjtao889
        131
    hjtao889  
       Mar 17, 2022
    我怀疑你是来骗回复的
    onesec
        132
    onesec  
       Mar 18, 2022
    看到这么多喷楼主的就放心了。
    wizardyhnr
        133
    wizardyhnr  
       Mar 18, 2022
    Python 的语法个人比较喜欢,所以看 YAML 更顺眼些,当然我知道反过来很多人是看不惯缩进语法的,doge 。
    astkaasa
        134
    astkaasa  
       Mar 18, 2022
    array
    associative array
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   933 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 86ms · UTC 21:12 · PVG 05:12 · LAX 14:12 · JFK 17:12
    ♥ Do have faith in what you're doing.