杰克逊将具有不同名称的相同JSON节点映射为关键字

时间:2015-04-15 08:02:46

标签: java android json spring rest

我在Android中使用RESTful网络服务,并且我第一次使用Spring for Android与Jackson合作。

我使用this生成器生成java类,但有时当JSON中相同对象的数组有不同的名称时,我遇到了麻烦:

"a2e4ea4a-0a29-4385-b510-2ca6df65db1c": {
                        "url": "//url1.jpg",
                        "ext": "jpg",
                        "name": "adobe xm0 ",
                        "children": {},
                        "tree_key": []
                    },
                    "d3ff3921-e084-4812-bc49-6a7431b6ce52": {
                        "url": "https://www.youtube.com/watch?v=myvideo",
                        "ext": "video",
                        "name": "youtube example",
                        "children": {},
                        "tree_key": []
                    },
                    "151b5d60-8f41-4f38-8b67-fe875c3f0381": {
                        "url": "https://vimeo.com/channels/staffpicks/something",
                        "ext": "video",
                        "name": "vimeo example",
                        "children": {},
                        "tree_key": []
                    }

所有3个节点都是同一类型,可以使用相同的对象进行映射,但是生成器为每个具有不同名称的节点创建3个类。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

使用杰克逊,您可以使用Map map = new ObjectMapper().readValue(<insert object here>, Map.class);

Programmer Bruce所述:here