【发布时间】:2016-06-01 20:48:32
【问题描述】:
我有一个 json 对象,里面可以有一个可以是数组或布尔值的属性。所以我的问题是如何在解析时解析这个 json 而不会出现问题?
这就是我所说的:
{
"offerId": "24",
"image1": "1452678081_56961bc195cf8.jpg",
"image2": "1452678081_56961bc195f38.jpg",
"image3": "1452678081_56961bc196124.jpg",
"featured": false,
"hide_button": false,
"categoryId": "1",
"locations": [
{
"address": "Problemveien 13, 0313 Oslo",
"long": "10.722052800000029",
"latitude": "59.9409999"
},
{
"address": "Akersgata 68, 0180 Oslo",
"long": "10.744572199999993",
"latitude": "59.9174608"
},
{
"address": "Trimveien 4, 0372 Oslo",
"long": "10.724201200000039",
"latitude": "59.9466293"
},
{
"address": "Sandakerveien 116, 0484 Oslo",
"long": "10.769448300000022",
"latitude": "59.9483484"
},
{
"address": "Vulkan 15, 0178 Oslo",
"long": "10.75169040000003",
"latitude": "59.9223593"
}
]
}
这就是对象内部没有位置数组时的外观:
{
"offerId": "25",
"image1": "1452678113_56961be1d6774.jpg",
"image2": "1452678113_56961be1d694f.jpg",
"image3": "1452678113_56961be1d6ae0.jpg",
"featured": false,
"hide_button": false,
"categoryId": "1",
"locations": false
}
再说一次,我该如何解析 locations 元素,因为它可以是布尔值或数组?有没有办法使用谷歌 gson 来解析这个?
谢谢
【问题讨论】:
-
这听起来并不像一个概念。所以不知道他们为什么这样做。他们应该将位置保留为空数组。
-
@Doomsknight 是的,我知道,但有解决方案吗?
-
据我所知没有。不与 gson。因为它映射到一个定义的对象,它必须是 1 而不是 2 类型
标签: android json retrofit android-json gson