当前位置: 首页 > 知识库问答 >
问题:

json.parse允许null作为值

程鸿畅
2023-03-14

我将null传递给json.parse(),虽然第一个参数文档中说明它应该是一个字符串值,但它仍然可以提供null

为什么这不会抛出一个错误,即使文档声明这是用于字符串的,这能在多个浏览器中安全可靠地使用吗?

共有1个答案

闻人冷勋
2023-03-14

作为json.parse的第一步,ECMAScript规范指出:

  1. jtexttoString(text)

这意味着它将强制转换给字符串的任何参数,而null强制转换为“null”,这是null的有效JSON表示形式。

请注意,一个这样的JSON原语不应该有效,一个JSON字符串应该包装在一个对象或数组中。但解析器传统上对此比较松懈,我想部分原因是它使实现更加简单。

 类似资料:
  • 我试图执行我的保存endpoint到邮递员,我收到这个错误: 原因:org.h2.jdbc.JdbcBatchUpdateException: NULL不允许列CREATION_DATE;SQL语句:插入到客户(authentication_uid、creation_date、customer_uid、default_payment_method_uid、guid、last_edit_date、p

  • 问题内容: 我将每个列都设置为,但是由于某种原因,我仍然能够在每个列中添加一个值。这是我的表信息(创建语法): 这是一个有效的示例: 有什么想法为什么会这样? 问题答案: 您要插入空字符串,而空字符串不是,要检查错误,请执行以下操作: 你会看到错误。该只对那些不值检查。 为了防止空字符串,您必须使用触发器,或者在执行查询之前对服务器端编程语言进行检查以将空字符串转换为。的示例触发器可能类似于:(这

  • 问题内容: 我拼凑了一个图片网站。基本模式是非常简单的MySQL,但是在尝试表示与图像相关联的可能的管理标志(“不合适”,“受版权保护”等)时遇到了一些麻烦。我目前的概念如下: (为了方便阅读而被截断;我发誓要搭配各种外键和索引) 在标志类型的查找表上是外键,并且您可以想象 应该 在上外键。现在的问题是,当第一次发出标志时,没有逻辑解析类型(我将其声明为的一种很好的用法)。但是,如果设置了值,则应

  • 问题内容: 最初,表“ MyTable”的定义如下: 如何以允许“ Col 3”列为NULL的方式更新它? 问题答案: 以下MySQL语句应修改您的列以接受NULL。

  • 问题内容: 让我们在以下片段中查看简单的Java代码: 在这个最简单的Java代码中,即使函数的返回类型为,该方法也不会发出编译器错误int,并且我们正在尝试返回值null(通过语句;)。编译时,这显然会导致运行时异常。 但是,如果我们用一个语句(如在方法中)表示三元运算符,这似乎是错误的,它确实会发出编译时错误!为什么? 问题答案: 编译器将对的解释解释为,对条件运算符应用自动装箱/拆箱规则(如

  • 问题内容: 我是第一次使用oracle,我有一个名为ExpenseReport的表,该表存储有关费用的详细信息。 我希望Null允许ApprUserNo,如果ERStatus =’PENDING’,将不胜感激,我一直在努力整理整个上午 问题答案: 您需要重新形成约束。 首先,如果您希望一个字段保留空值,而不考虑其他任何规则,则该字段必须为可空字段。 其次,创建一个约束,说ApprUserNo不能为