1

可能重复:
使用 GSON 将 JSON 解析为 Java POJO

我正在尝试使用 GSON 将此 JSON 映射到 POJO:

{
"get_lists": [
    {
        "Solution": [
            {
                "A05": "Herhalingsbezoek vereist"
            },
            {
                "A03": "Melding met oh verholpen"
            }
        ]
    },
    {
        "Problem": [
            {
                "R07B": "Aandrijving"
            },
            {
                "R07C": "Coating"
            }
        ]
    }
]
}

但是,解决方案和问题中的键和值都可能会有所不同,而我以前不必处理这个问题。

4

2 回答 2

3

如果您的键没有太大变化,您可以创建一个具有所有所需字段的类?

如果没有,您有这些解决方案:

  • 使用自定义 Deserializer

  • 解码为原始集合:这是一个与您的问题非常相似的示例

  • 使用以下方法反序列化您的解决方案HashMap<String, String>[]

    public class ListItem {
        public HashMap<String, String>[] Solution;
        public HashMap<String, String>[] Problem;
    }
    
    public class Message {
        public ListItem[] get_lists;
    }
    

这有点重,但它避免了使用自定义反序列化器。

于 2012-06-15T07:14:00.843 回答
0

据我所知,给定结构代表以下 POJO

class OuterObject
{
private List<MyObject> getLists;
 }

private class MyObject
{
private List<MyKeyValuePair> myList;
}

private class MyKeyValuePair
{
private String key;
private String value;
}

愿这有帮助

于 2012-06-15T11:45:34.050 回答