Json to Java-获取特定属性的值,避免映射所有属性

时间:2013-07-12 17:58:35

标签: java json json-deserialization

我是JSON的新手,我搜索了网站中有关将JSON转换为JAVA对象的许多答案。 这是我的问题。

我有一个很大的JSON数据,我想从中提取一些信息。它包含许多对象,如personalInfo,Friends,CareerInfo等。我想得到朋友的某些属性的价值。

在完成所有解决方案后,我得出结论,我必须创建一个映射JSON所有属性的类。

我不想为每个数据创建类映射。有没有办法可以避免在JSON中为所有数据创建一个类,只是在一个对象中获取某些属性的值? < / p>

更清楚一点:

{
    "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"
                }
            }
        }
    }
}

让我们说这里我只想要在GlossEntry中创建ID和Abbrev的值。创建一个GlossEntry类很好但是我不想因为有很多数据而无法创建词汇表类。

1 个答案:

答案 0 :(得分:0)

有两种方式。

如果您需要更好的性能,您应该考虑使用GSON(https://code.google.com/p/google-gson/),但是您需要创建类并编写一些映射来创建更好的Java对象表示。