我有一个在JSON文件中描述的结构,说该结构名为Dog
struct Dog {
var color: UIColor
}
我在JSON文件的字典中跟踪我的狗,其中每只狗的名字都充当标识符。因此,我可以使用下一个JSON:
"myDogs": {
"goodBoy": {
"color": "#000000"
},
"veryGoodBoy": {
"color": "#FFFFFF
}
}
[描述我的2条狗,这是一个字典,我(显然)想避免重复的键,因此我希望,如果JSON有2条具有相同键的狗,则在解码类型为myDogs
的[String: Dog]
时(名称)我会得到一些错误。
令我惊讶的是,它没有发生,而是只忽略了第一个狗之后的所有狗,即使用此JSON
"myDogs": {
"goodBoy": {
"color": "#000000"
},
"veryGoodBoy": {
"color": "#FFFFFF
}
"goodBoy": {
"color": "#FF0000"
}
}
我会得到一本包含2条狗的字典,一个名字是黑色的“ goodBoy”,另一个名字是白色的“ veryGoodBoy”。
在解码阶段是否有引发异常(或至少记录错误的方法?)>
提前感谢。
编辑
Does JSON syntax allow duplicate keys in an object?有帮助,但没有回答我的问题。基本上我问的是Swift中有没有一种方法可以在解码阶段引发异常而无需重写JSONDecoder()
[我有一个在JSON文件中描述的结构,说该结构名为Dog struct Dog {var color:UIColor}我在JSON文件的字典中跟踪我的狗,每个狗的名字都起作用.. 。
好,所以您想知道是否有一种方法可以通过JSONDecoder
检测重复的密钥错误。