2014-11-21 117 views
0

我有一個json對象我如何獲得所有密鑰,之後又沒有對密鑰進行硬編碼如何獲取密鑰值。使用java獲取json密鑰

{ 
    "A":"M1", 
    "Data":[ 
     { 
      "B":[ 
       { 
       "B1":"111", 
       "B2":"Warning " 

       }, 
       { 
       "B1":"222", 
       "B2":"Warning " 

       } 
      ], 
      "C":[ 
       { 
       "c1":"IL2", 
       "c2":"[0.750183,0.00933380975964486]" 
       }, 
       { 
       "c1":"IL1b", 
       "c2":"[0.750183,-1.5216938335421]" 
       } 
      ] 
     } 
    ] 
    } 
+3

可能重複[如何解析Java中的JSON(http://stackoverflow.com/questions/2591098/how-to-parse-json-in -java) – Manwal 2014-11-21 04:40:29

+0

請參考下面的鏈接,可以幫助你 [訪問JSON對象的元素不知道這些按鍵的名稱] [1] [1]:http://stackoverflow.com/questions/ 5113847/json-objects-accessible-elements-of-know-the-key-names – ABI 2014-11-21 04:43:57

+0

jack兒子真的很好處理json字符串。它允許直接在pojo或任何期望的對象中解析json。它有很大的靈活性來處理 json。 請參閱http://jackson.codehaus.org/瞭解更多詳情。 – Gaurav 2014-11-21 05:03:10

回答

0

嘗試了這一點... 這可能會爲你工作....

你必須使用的JSONObject keys()拿到鑰匙,然後遍歷每個鍵進入動態值。

大致代碼如下:

// searchResult refers to the current element in the array "search_result" 
JSONObject questionMark = searchResult.getJSONObject("question_mark"); 
Iterator keys = questionMark.keys(); 

while(keys.hasNext()) { 
    // loop to get the dynamic key 
    String currentDynamicKey = (String)keys.next(); 

    // get the value of the dynamic key 
    JSONObject currentDynamicValue = questionMark.getJSONObject(currentDynamicKey); 

    // do something here with the value... 
} 
+0

我正在使用import org.json.JSONObject;是我可以使用的罰款或任何其他罐子 – 1209 2014-11-21 05:13:57