JSON转换对象与单独记录中的Array具有相同的名称

时间:2016-02-09 05:05:56

标签: java android json retrofit

我正在尝试使用改进来解析下面的JSON。这里JSON对象与JSON Array具有相同的名称。有没有办法正确创建pojo的

此处按钮是第一个记录中的对象,而在第二个记录中,它是一个数组。

这是否符合JSON规范。

{
    "Single": [{
        "button": {
            "target": "https://m.jjj.com",
            "title": "Shop Now"
        },
        "description": "W1",
        "image": "http://dojo.scene11.com/is/image/anf/anf-US-20150629",
        "title": "Sports at $25"
    }, {
        "button": [{
            "target": "https://m.abz.com",
            "title": "Shop Now"
        }],
        "description": "Good",
        "image": "http://axys.com.m/is/image/brands",
        "title": "gebra "
    }]
}

2 个答案:

答案 0 :(得分:0)

根据JSON规范,这是一个有效的JSON,但正如我们所知,Array必须具有相同类型的值,否则您将违反该逻辑。因此,当您尝试将此JSON直接映射到Java对象时,它可能会出现异常,但如果您编写了自定义解析器,则可以正确使用它。

答案 1 :(得分:0)

是的,如果您使用正确的函数来解析json,这是有效的。可以有json对象和json数组相同的名称'。 但是不应该有两个同名的对象,或者两个同名的数组。即使这将是有效的json有两个相同名称的对象(或数组),但在解析你的json时你将只能得到一个json对象(或数组)。