我能否在以下发言中发表一些意见?Json Json (Json Json) (Json Json Json) (Json Json) Json Json (Json Json) Json (Json) Json (Json) Json (Json) Json (Json) Json (Json) Json (Json) Json(Json) Json (Json) Json (Json) Json(Json) Json (Json) Json如果有,如何处理?
当前回答
Dojo工具包 JavaScript工具包(至少是1.4版)允许您在 JSON 中加入评论。/* */
Dojo 工具包使用JSONdojo.xhrGet()
拨打。
其他JavaScript工具箱也可能同样发挥作用。
在选择最后选择之前先试验其他数据结构(甚至数据清单)时,这样做会有帮助。
其他回答
JSON的理念是提供各种应用之间的简单数据交换,这些应用通常是基于网络的,语言是JavaScript。
但是,它实际上不允许这样的评论, 但是,作为数据中的名字/价值对之一通过评论肯定行得通, 尽管数据显然需要被忽略或由解析代码具体处理。
尽管如此,但JSON档案中并没有包含传统意义上的评论的意图。它应该只是数据而已。
看一看JSON JSON 网站以了解更多细节。
没有 No.
JSON 仅限数据。 如果您包含一个注释, 那么它也一定是数据 。
您可以使用指定数据元素"_comment"
使用JSON数据的应用程序应该忽略(或某事)这一点。
在产生/接收JSON的进程中,你最好有评论,因为他们应该知道JSON的数据会是什么,或者至少知道它的结构。
但如果你决定:
{
"_comment": "comment text goes here...",
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
如果您正在使用 PHP, 您可以使用此函数搜索并删除 JSON 字符串中的 / / / * 键入批注, 然后将其解析成对象/ 数组 :
function json_clean_decode($json, $assoc = true, $depth = 512, $options = 0) {
// search and remove comments like /* */ and //
$json = preg_replace("#(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|([\s\t]//.*)|(^//.*)#", '', $json);
if(version_compare(phpversion(), '5.4.0', '>=')) {
$json = json_decode($json, $assoc, $depth, $options);
}
elseif(version_compare(phpversion(), '5.3.0', '>=')) {
$json = json_decode($json, $assoc, $depth);
}
else {
$json = json_decode($json, $assoc);
}
return $json;
}
希望这有帮助!
您可以通过正则表达式使用简单的预处理。例如,以下函数将解码在 PHP 中评论 JSON:
function json_decode_commented ($data, $objectsAsArrays = false, $maxDepth = 512, $opts = 0) {
$data = preg_replace('~
(" (?:[^"\\\\] | \\\\\\\\ | \\\\")*+ ") | \# [^\v]*+ | // [^\v]*+ | /\* .*? \*/
~xs', '$1', $data);
return json_decode($data, $objectsAsArrays, $maxDepth, $opts);
}
它支持所有PHP风格的评论: / *, #, / /。 字符串的字句保留不变 。
包含备注, 如果您选择的话; 在解析或传输前用一个分解符将其删除 。
我刚放出来JSON. 最小化 ()将评论和空格从JSON的一块块中除去,使JSON能够被解析,成为有效的JSON。
JSON.parse(JSON.minify(my_str));
当我发布时,我得到了一股巨大的反感, 许多人甚至不同意这个想法, 所以我决定写一篇全面的博客文章, 说明为什么JSON认为,它包括JSON创始人的这一引人瞩目的评论:
假设您正在使用 JSON 保存配置文件, 您想要对此进行注释 。 请继续插入您想要的所有评论 。 然后通过 JSMIN 管道将其传送给您的 JSON 分析者 。 - 将它交给您 JSON 分析者 。Douglas Crockford,2012年
希望这样能帮助那些不同意为什么JSON. 最小化 ()可能有用。
推荐文章
- 查询JSON类型内的数组元素
- 将JSON字符串转换为HashMap
- 将JsonNode转换为POJO
- Json_encode()转义正斜杠
- 如何写一个JSON文件在c# ?
- 在序列化和反序列化期间JSON属性的不同名称
- 为什么PHP的json_encode函数转换UTF-8字符串为十六进制实体?
- Ajax会调用什么样的响应,比如'for (;;);{json data}的意思?
- 在JavaScript中将JSON字符串解析为特定对象原型
- 使用Jackson将JSON字符串转换为漂亮的打印JSON输出
- jQuery。由于转义了JSON中的单引号,parseJSON抛出“无效JSON”错误
- 用c#解析JSON
- 如何合并2 JSON对象从2个文件使用jq?
- 在VS Code中禁用“Comments are not allowed In JSON”错误
- 如何在Kotlin解析JSON ?