这是有效的json吗?
{
"a" : "x",
"a" : "y"
}
http://www.json.org/没有说这是被禁止的。
但很明显,这没有多大意义,不是吗?大多数实现可能使用哈希表,所以无论如何它都会被覆盖。
发布于 2015-11-21 17:22:27
在处理同时接受XML和JSON的API时,我遇到了类似的问题,但没有说明它将如何处理所接受的JSON中的重复键。
以下是示例JSON的有效XML表示:
<object>
<a>x</a>
<a>y</a>
</object>
将其转换为JSON后,您将获得以下内容:
{
"object": {
"a": [
"x",
"y"
]
}
}
从一种处理重复键的语言到另一种语言的自然映射,在这里可以作为潜在的最佳实践参考。
希望这对某些人有帮助!
发布于 2016-10-15 01:06:35
应该是唯一的并不意味着必须是唯一的。然而,如上所述,一些解析器会失败,而其他解析器只会使用解析的最后一个值。但是,如果规范被清理了一点,以允许重复,那么我可以看到一个使用事件处理程序将JSON转换为HTML或其他格式的用途……在这种情况下,解析JSON并创建另一种文档格式是完全有效的……
[
"div":
{
"p": "hello",
"p": "universe"
},
"div":
{
"h1": "Heading 1",
"p": "another paragraph"
}
]
然后可以很容易地解析为html,例如:
<body>
<div>
<p>hello</p>
<p>universe</p>
</div>
<div>
<h1>Heading 1</h1>
<p>another paragraph</p>
</div>
</body>
我看得出这个问题背后的原因,但事实是...我不会相信的。
发布于 2017-07-11 10:47:35
根据互联网工程任务组(IETF)发布的JSON当前标准RFC-7159,声明“对象中的名称应该是唯一的”。然而,根据定义IETF文档中使用的术语的RFC-2119,“应该”一词实际上意味着“……在特定情况下可能存在合理的理由来忽略特定的项目,但在选择不同的路线之前,必须理解并仔细权衡其全部含义。”这本质上意味着,虽然推荐使用唯一键,但这不是必须的。我们可以在JSON对象中有重复的键,但它仍然有效。
在实际应用中,我看到当在JSON中发现重复的键时,会考虑最后一个键的值。
https://stackoverflow.com/questions/21832701
复制相似问题