【问题标题】:What is the JSON Standard for an empty string or null variable?空字符串或空变量的 JSON 标准是什么?
【发布时间】:2018-02-03 13:21:01
【问题描述】:

我正在构建一个应用程序来解析 JSON 模板,然后用新数据替换对象的值。我的问题是在 JSON 中表示空数据的标准方法是什么?

这就是我现在的处理方式:

  • 空字符串表示为“”
  • 一个空的 int/float/double/bool/等。表示为NULL

这是正确的吗?

【问题讨论】:

  • 设置一个空字符串就像强制一个默认值。因此,如果您这样做,您也应该对其他类型执行此操作,int - asign a 0,bool asign false 等。但是,在我看来,“空数据”应该等同于 null。所以在这里你必须考虑你的数据是否应该为空或根本不存在,因为你也可以在某处进行未定义的检查。
  • Representing null in JSON的可能重复

标签: json cjson


【解决方案1】:

应该很简单。

{
  "Value1": null, 
  "Value2": null,
}

Null 表示可以为 null 的数据类型,因此您的业务层需要知道它是 int、double、string ...

【讨论】:

    【解决方案2】:

    这完全取决于你。

    JavaScript 中的虚假值是:

    • false
    • null
    • undefined
    • 0
    • NaN
    • ''""

    您可以使用其中任何一个来表示空值。但是,请记住,当您尝试访问不存在的对象属性时,您将得到undefined。所以undefined在某种程度上可以被认为是标准的空值。

    话虽如此,一种约定是使用null,这样您就可以将有意设置为null 的属性与实际上是undefined 的属性区分开来。

    【讨论】:

    • undefined 不是有效的 JSON,NaN 也不是有效的 JSON。
    • 你是对的,但是如果你将这些值中的任何一个传递给JSON.stringify(),你总会得到一个字符串,它有效的JSON
    • 但从未提及 JavaScript。
    猜你喜欢
    • 2010-09-27
    • 2013-04-11
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 2012-06-28
    相关资源
    最近更新 更多