可以引用JSON数字吗?
JSON编号周围可以有引号吗?在大多数搜索链接中,数字似乎不需要“引用”引号。但是,解析器应该同时接受"attr" : 6
和"attr" :
"6"吗?
如果MyParser
有一种方法getInt
可以获取给定键的数字,那么在两种情况下都应该MyParser.getInt("attr")
返回6
,还是在后一种情况下抛出异常?
回答:
在JSON中,6
数字为6。"6"
是一个包含 数字 的 字符串 。因此,问题的答案是
“可以引用json数字吗?” 基本上是“否”,因为如果用引号引起来,它们就不再是数字了。
但是,解析器应该同时接受
"attr" : 6
和"attr" : "6"
吗?
是的,但是它们定义了不同的事物。第一个attr
使用值6
(数字)定义属性。第二个定义了一个attr
带有值的属性"6"
(一个包含一位数字的字符串)。
(最初询问的问题attr: "6"
是,这是无效的,因为属性名称必须在JSON中用双引号引起来。)
如果MyParser具有方法getInt来获取给定键的数字,则MyParser.getInt(“
attr”)在这两种情况下均应返回6还是在后一种情况下引发异常?
这是为个人提供的解析器,基本上之间选择一个设计决策getInt
是严格(抛出一个异常,如果你试试"attr":
"6")或松散的(胁迫"6"
到6
并返回一个)。JavaScript通常是松散的,因此可能会有松散的说法。相反,JavaScript宽松的事实有时会引起麻烦,这可能是严格的理由。
以上是 可以引用JSON数字吗? 的全部内容, 来源链接: utcz.com/qa/408696.html