2013-11-26 56 views
0

目前我正在做一個java程序,我需要解析來自服務器的json消息。我想用谷歌的Gson來做,但是我從文檔和網頁中看到的都是如何將類轉換爲json,反之亦然。也許我誤解了Gson,但我沒有找到我需要的東西。如何在這些情況下輕鬆解析json

所以,作爲消息的類型是變異和結構可以改變,我可能需要在以下幾個方面來解析消息:

  1. GET值從一個關鍵

    String value = jsonParser.get(key); 
    

    爲XPath中我總是這樣xpath.evaluate( 「//鍵」,DOC)

  2. 從關鍵

    得到的結構0

    所以有可能會像

    class Address{ 
        Srting street; 
        String city; 
        ... 
        // and other fields or methods needed 
    } 
    

    我可能想要獲取對象以簡單的方式預定義的結構。我可能不知道這個信息在json消息中的位置。

  3. 得到與約束

    例如,我可能想知道,如果他住在「4五奧克斯」一個人的命名值。 (地址是人的子節點)

而且我更喜歡java api或小jar包,而不是需要整個apache項目支持的jar。

+0

是的,你應該把你的'PS'到一個新的問題。我在這裏刪除它。 – Octoshape

回答

0

在通常情況下,當使用Java時,客戶端會通過統一按摩結構或通過請求不同的url/query來知道應該接收什麼類型的對象。

無論如何,如果你喜歡先解析JSON字符串的地圖,看看在Convert Json to Map

也是第一個答案,因爲在上面的鏈接說,JSON的Java庫的完整(長)列表可以被發現在json.org

+0

是的,我應該知道可能的結構。如果出現錯誤,將會出現一個帶有錯誤消息的返回代碼201,然後json很短。另一個例子,如果我要求北上,客戶可能會返回''loacateion':'forest'',這是森林結構造成的。但有時它可能會返回湖或其他人。所以我不會預測確切的結構。我要說清楚嗎? – bijiDango

相關問題