空格、制表符和回车符等空白字符在 JSON 字符串中会被忽略吗?
例如,{"a":"b"}
和 {"a" : "b"}
是否相等?
空格、制表符和回车符等空白字符在 JSON 字符串中会被忽略吗?
例如,{"a":"b"}
和 {"a" : "b"}
是否相等?
是的,在双引号字符串字面量外部的空格在语法中被忽略。具体来说,JSON语法中RFC 4627的ws
生产规则如下:
Insignificant whitespace is allowed before or after any of the six
structural characters.
ws = *(
%x20 / ; Space
%x09 / ; Horizontal tab
%x0A / ; Line feed or New line
%x0D ; Carriage return
)
{
之间没有空格。请参见这个以前的线程:
DataContractJsonSerializer doesn't work with formatted JSON?
至少在.NET 4中,我已经测试了无空格的要求是真实的。也许在将来的版本中,这将被更改以使其更符合JSON标准?