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

如何表达 null 在 json 中

  •  
  •   awesomelei · Dec 26, 2018 · 3823 views
    This topic created in 2877 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
    Terry05
    Dec 26, 2018
    1
    就是用 null 不带引号

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