将JSON转换为类

时间:2013-07-14 10:08:14

标签: java json jackson

和一个名为Entry的类。 如何将json中的GlossEntry对象转换为java中的Entry类对象。

{
    "glossary": {
        "title": "example glossary",
        "GlossDiv": {
            "title": "S",
            "GlossList": {
                "GlossEntry": {
                    "ID": "SGML",
                    "SortAs": "SGML",
                    "GlossTerm": "Standard Generalized Markup Language",
                    "Acronym": "SGML",
                    "Abbrev": "ISO 8879:1986",
                    "GlossDef": {
                        "para": "A meta-markup language, used to create markup languages such as DocBook.",
                        "GlossSeeAlso": ["GML", "XML"]
                    },
                    "GlossSee": "markup"
                }
            }
        }
    }
}

3 个答案:

答案 0 :(得分:2)

"Jackson in 5 minutes" page中所述,需要5分钟阅读:

ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
Entry entry = mapper.readValue(new File("entry.json"), Entry.class);
编辑:对不起,我误解了你的问题。如果要将JSON的子树读入Java对象,然后read the full JSON as a Tree,则从根节点获取子树,并使用ObjectMapper.treeToValue()将子树转换为条目Java对象。所有步骤都在我链接的页面中描述。

答案 1 :(得分:0)

这取决于您用于转换的平台;例如,使用谷歌的Gson只需要两行代码,下面的例子展示了如何从这个json获取竞选对象

    String rsou = "{\"name\":\"name\",\"startDate\":\"01/01/2013 00:30\",\"endDate        \":\"01/03*d/2013 12:30\",\"variable\":\"\"}";

    Campaign newCampaign = new Gson().fromJson(rsou, Campaign.class);

答案 2 :(得分:0)

JSONClass 描述服务接口,自动生成类文件, 支持C ++,C#,Java,Objective-C,Python,Go。