Gson反序列化json,包含可以是字符串或对象的参数

时间:2016-12-22 17:38:51

标签: java json string gson deserialization

我有一个像下面的Json。

{
    "myItemArray": [
        {
            "id": "c8c1", 
            "price": 18, 
            "display": {
                "inneritemName1": "innerItemValue1", 
                "inneritemName2": "innerItemValue2",
                "inneritemName3": "innerItemValue3"
            }
        }, 
        {
            "id": "cac1", 
            "price": 2, 
            "display": "Lemonate"
        }
    ]
}

正如您所看到的,我的数组中的项目有一个名为&#34的参数;显示"可以是String或Object。如何使用Gson反序列化这个json?

我不想手动反序列化此字符串是否有其他方法可以解决此问题?

1 个答案:

答案 0 :(得分:0)

您可以使用Gson,但必须构建一个类,将每个Json属性都放入Java类的relevent属性中。

我是高度重新编写的Jackson库,你只需要设置Java类,它就会处理映射和解析。