1

和一个名为 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"
                }
            }
        }
    }
}
4

3 回答 3

3

正如“杰克逊在 5 分钟内”页面中解释的那样,需要 5 分钟才能阅读:

ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
Entry entry = mapper.readValue(new File("entry.json"), Entry.class);

编辑:对不起,我误解了你的问题。如果要将 JSON 的子树读取为 Java 对象,则将完整的 JSON 读取为 Tree,然后从根节点获取子树,并用于ObjectMapper.treeToValue()将子树转换为 Entry Java 对象。我链接到的页面中描述了所有步骤。

于 2013-07-14T10:11:26.897 回答
0

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

    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);
于 2013-07-14T11:05:28.997 回答
0

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

于 2017-01-16T04:08:49.927 回答