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

如何表达 null 在 json 中

  •  
  •   awesomelei · Dec 26, 2018 · 3537 views
    This topic created in 2746 days ago, the information mentioned may be changed or developed.

    https://www.json.org/ 官网右侧图片中将 true, false, null 都加上了双引号, 是否会造成误导? 我个人还是倾向于{"foo": null}, 不知大家如何抉择{"foo": []}, {"foo": ""}, {"foo": "null"}, {"foo": 0} 是否是根据数据类型来选择各种空值, 还是直接表示为 null, 但总之, 我个人感觉官网中的右侧图片表达的"null"写法是最可能陷入麻烦的, 也就是{"foo": "null"}

    引用下爆栈网的提问: https://stackoverflow.com/questions/21120999/representing-null-in-json 大家发表下自己喜好吧

    Terry05
        1
    Terry05  
       Dec 26, 2018
    就是用 null 不带引号

    { "a": null }
    chairuosen
        2
    chairuosen  
       Dec 26, 2018
    > JSON.stringify({a:null})
    > "{"a":null}"
    dengtongcai
        3
    dengtongcai  
       Dec 26, 2018
    "null"代表字符串 null
    awesomelei
        4
    awesomelei  
    OP
       Dec 26, 2018
    行, 个人感觉还是官网那张图片可能存在歧义, 此贴终结
    @Terry05
    @chairuosen
    @dengtongcai
    canbingzt
        5
    canbingzt  
       Dec 26, 2018
    个人理解
    官网右边的 object、array、string、number 代表类型,没加""
    而 "true"、"false"、"null",是具体的值,加了""
    zxcvsh
        6
    zxcvsh  
       Dec 26, 2018 via iPhone
    和后台商量好就行
    bumz
        7
    bumz  
       Dec 26, 2018
    没有歧义
    它的文法中用到的默认是语法变量,比如 object, array, string, number
    终极符号都加上引号,"true", "false", "null"
    实际描述的语言 (json) 是不包括那个引号的。
    dacapoday
        8
    dacapoday  
       Dec 26, 2018
    官网那个是 PEG,用来描述语言的语言,引号是表示语言中的文本,以便和其他解析符号区别。
    awesomelei
        9
    awesomelei  
    OP
       Dec 26, 2018
    @canbingzt
    @bumz
    @dacapoday
    感谢大佬们解答, 明白了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1058 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 18:19 · PVG 02:19 · LAX 11:19 · JFK 14:19
    ♥ Do have faith in what you're doing.