空字符串或空变量的 JSON 标准是啥?
Posted
技术标签:
【中文标题】空字符串或空变量的 JSON 标准是啥?【英文标题】: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的可能重复 【参考方案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。以上是关于空字符串或空变量的 JSON 标准是啥?的主要内容,如果未能解决你的问题,请参考以下文章