2013-07-12 77 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