空字符串或空变量的 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 标准是啥?的主要内容,如果未能解决你的问题,请参考以下文章

检查变量是不是为空字符串或空字符串的更好方法?

改造:处理可以是空字符串或数组的属性

python pandas:过滤掉给定字段的空字符串或空字符串的记录

空字符串或空格的正则表达式

从数组中删除空字符串或空白字符串 - Javascript

ElasticSearch 将 NULL 值作为空字符串或“N/A”获取