考虑使用JSON表示将包从一个地址传递到另一个地址。简化的,
GoogleMapDirections to 1.1
我很确定键“street”,“city”和“state”可以合法地嵌套在“源”和“目标”对象中。是否有技术原因导致关键名称不重复?
答案 0 :(得分:1)
技术原因是否不应重复关键名称?
没有。对我来说似乎很合理。
e.g。如果我是序列化Scala / Java对象,那么该对象可能如下所示:
class Delivery {
val parcelId : String
val source : Address
val destination : Address
}
和Address
对象的字段名称在此处相同。
答案 1 :(得分:1)
在JSON中拥有重复属性键是不同对象的一部分没有任何问题。
您的JSON示例完全有效。
当它们处于同一水平时,这只是一个问题。
例如两个source
个对象:
{
"parcelId": 123,
"source": {
"street": "123 Main Street",
"city": "Anytown",
"state": "New York"
},
"source": {
"street": "456 Avenue B",
"city": "Elsewhere",
"state": "New Jersey"
}
}
或者一个对象中的两个street
属性:
"source": {
"street": "456 Avenue B",
"street": "Elsewhere",
"state": "New Jersey"
}
答案 2 :(得分:0)
没有。如果您有(png|jpe?g|gif)
,然后是delivery.street
,那么这会让您感到困惑。但你没有。您有delivery.street
和delivery.source.street
。基本上,键delivery.destination.street
现在正在处理一个完全不同的对象。