Json 在swift字典中处理重复的键值

Json 在swift字典中处理重复的键值,json,swift,dictionary,Json,Swift,Dictionary,我必须使用Swift 3遵守Restful请求调用,不幸的是,它包含重复的键,如下所示。我最初将数据放在字典中,以传递到JSON序列化调用中 [ “中”:“3”, “属性”:[ “carID”:[“a”:54123,“b”:424,“c”:“13242”], “更新”:“正确” “更新”:“黄金” ] ] 请注意,更新会发生两次,这会导致此错误: 致命错误:字典文本包含重复的键 我已经回顾了这一点,但似乎没有相关的答案 我曾考虑使用数组,但我认为它会失去JSON序列化所需的键值对关系 我看过一

我必须使用Swift 3遵守Restful请求调用,不幸的是,它包含重复的键,如下所示。我最初将数据放在字典中,以传递到JSON序列化调用中

[
“中”:“3”,
“属性”:[
“carID”:[“a”:54123,“b”:424,“c”:“13242”],
“更新”:“正确”
“更新”:“黄金”
]
]
请注意,更新会发生两次,这会导致此错误:

致命错误:字典文本包含重复的键

我已经回顾了这一点,但似乎没有相关的答案

我曾考虑使用数组,但我认为它会失去JSON序列化所需的键值对关系

我看过一些关于使用structs的文章,但我不确定这是否能解决重复键的问题

有什么建议吗?我无法更改请求中的参数名称,因为它是第三方产品

顺便说一句,我不认为我的问题是重复的。该示例实际上应该是一个结构/类,因为它是一个键值对(age:age-value),应该位于类或结构中。我的示例有一个重复键,重复键的两个实例中的每一个都有不同的含义(它们是否应该更新,以及更新的成员类型应该是什么)。我不知道它将如何适用,但我对它的启示持开放态度


谢谢

我建议编写一个函数,将副本转换为数组,因为这是您要传达的概念;更新类型的多个值。i、 e.“update”:[“true”,“gold”]我不认为内置JSON序列化有任何方法可以生成具有重复键的JSON。我还不知道有哪种第三方JSON序列化可以实现这一点(大多数第三方JSON库都只是使用内置的
JSONSerialization
;我有一个,但它也不允许您复制密钥)。所以现在在我看来,你必须手工构造JSON字符串。而且,这是一个非常愚蠢的API。大多数语言中的大多数JSON库都不允许重复键。根据JSON标准,责怪web服务的所有者,不幸的是,没有什么可以阻止重复键。上一次,当我们得到这样的JSON时,我们确实为重复的键值创建了数组,比如上面提到的@rmooney。至少,这确保了数据不会丢失。