我已经在SO中看到了很多复杂的问题,无论某个复杂的结构是否被视为有效的JSON。
但是在频谱的另一端呢?
"12345"
以上是有效的JSON吗?
是的,在大多数情况下。这是表示JSON值的有效JSON语法。
对此的困惑来自于Douglas Crockford的RFC
4627
,它最初application/json
于2006年定义了互联网媒体类型。它说:
JSON文本是序列化的对象或数组。
但是,正如Crockford在2013年的帖子中所解释的(不幸的是,其余的Google+删除了它):
JSON只是一种语法,该语法包括数字和字符串。JSON的使用必须具有更大的限制性。RFC-4627是一种可能的用法,并且从未打算成为JSON本身的标准。
示例字符串是有效的JSON值,但是将其用作application/json
HTTP响应的完整“
JSON文本”正文可能是不正确的。但是,这不再是真的:RFC-4627在2014年随RFC
7159
的发布而废弃,它使您可以使用任何JSON值:
JSON文本是序列化的值。请注意,以前的某些JSON规范将JSON文本限制为对象或数组。
2013年还发布了“ JSON本身标准”,称为ECMA-404,并且在ECMAScript(JavaScript)规范ECMA-262的 5.1版中也定义了JSON
。这些规范和大多数解析器允许将任何JSON值作为完整的JSON文本,即使它只是一个简单的字符串也是如此。
问题内容: 有谁知道PHP的健壮(和防弹)is_JSON函数代码片段?我(显然)遇到一种情况,我需要知道字符串是否为JSON。 嗯,也许通过JSONLint请求/响应来运行它,但这似乎有点过头了。 问题答案: 如果您使用内置的PHP函数,则 返回最后一个错误(例如, 当您的字符串不是JSON时)。 无论如何通常都会返回。
我在使用Jsoup解析器时遇到困难。如何判断给定的字符串是否是有效的HTML代码? isValid标记为true,因为JSoup首先使用HtmlTreeBuilder:如果仅有html、head或body标记丢失,它会自行添加它们。然后它使用Cleaner类,并根据给定的白名单进行检查。 有没有简单的方法可以检查字符串是否是有效的HTML,而不需要Jsoup尝试将其变成HTML? 我的例子是AJA
如何检查给定的字符串是laravel中的有效时间戳。我想为它定义一个验证。输入字符串本身是一个时间戳,没有任何格式。例如"56123231"
那是什么绳子?它看起来像ASCII,但我缺乏关于编码的深刻知识。我需要任何类型的转换/解码吗? 我写了一个小程序来打开一个文件并解密它。但是PyCrypto抛出了一个错误,我花了5个小时反复试验,没有任何进展: 所以我两个都试了: null 问候AFX
问题内容: 但 为什么仅在分配字符串时才获得相同的id()结果? 编辑:我用“字符串”代替“ ASCII字符串”。感谢您的反馈 问题答案: 这与ASCII与非ASCII无关(您的“非ASCII”仍然是ASCII,只是标点符号,而不是字母数字)。CPython作为实现细节,将仅包含“名称字符”的字符串常量进行实习。在这种情况下,“名称字符”与正则表达式转义的含义相同:字母数字加下划线。 注意:这可以
但是 为什么只有在赋值字符串时才能得到相同的id()结果? 编辑:我将“ascii字符串”替换为“字符串”。感谢您的反馈