2013-07-12 60 views
-1

我是JSON的新手,我在网站中搜索了很多与将JSON转换为JAVA对象相关的答案。 这是我的问题。Json to Java - 获取特定属性的值,避免映射所有属性

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

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

我不想为每个数据创建类映射。 有没有一种方法可以避免为JSON中的所有数据创建类,并且只需在一个对象内获取某些属性的值?

只是为了更加明确:

{ 
    "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.Creating ID和缩略的价值GlossEntry类是不错,但我不想麻烦去由于有很多数据,所以创建了词汇表类。

+0

对于Java的每个JSON库都允许你这样做,是的。 –

+0

你能否提供一个类似这样的例子。我无法找到上述问题的任何教程。他们将json数据映射到类的任何地方 – user2511713

回答

0

有两种方法。

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

+0

Gson不仅允许你直接访问解析树(请参阅:'' JsonParser'),但是如果你谈论速度的话,Jackon是更高性能的库。 –

+0

嗨,谢谢。如何实现一个解析器?请提供一些参考 – user2511713

+0

@BrianRoach我已经阅读过一篇文章(我不记得在哪里)GSON(现在)比Jackson有更好的性能。 – davidbuzatto