试图将以下JSON保存到MongoDB
{
"EID":"1234367574",
"DID": "0123456789",
"Settings": {"Q":"12345678455kkkk"},
"Settings": {"Q":"123---------45678455kkkk"}
}
结果是保存以下内容
{
"EID":"1234367574",
"DID": "0123456789",
"Settings": {"Q":"123---------45678455kkkk"}
}
我使用C#和BsonDocument作为数据类型。
发布于 2016-01-28 12:02:21
在json对象中,键应该是唯一的。检查http://www.json.org
JSON建立在两个结构上:
你有第一个结构的例子。例如,您可能知道,如果尝试在哈希表中放置两次键,则第二个值将覆盖第一个值,与您在尝试中所经历的完全相同。在其他实现中,可能会引发错误。
看起来,嵌入的json数组(第二种结构)更适合您的情况:下面是什么呢?
{
"EID":"1234367574",
"DID": "0123456789",
"Settings": [{"Q":"12345678455kkkk"},{"Q":"123---------45678455kkkk"}]
}
注:
有人指出,JSON规范只说名称(键)应该是唯一的,没有说必须。
这是真的。
但是,最新规格指出,如果没有唯一性,您就不知道会发生什么行为:
当对象中的名称不唯一时,接收该对象的软件的行为是不可预测的。许多实现只报告姓氏/值对。其他实现报告错误或无法解析对象,一些实现报告所有的名称/值对,包括重复的。
https://stackoverflow.com/questions/35070609
复制相似问题