2017-04-06 80 views
2

我有一個JSON輸出是這樣的:解析帶有未知密鑰的JSON?

enter image description here

的數字2922和3910是隨機數。 我怎樣才能存儲在數組中的「名稱」的所有值?

謝謝。

+1

請參閱此解決方案: - http://stackoverflow.com/a/27188397/3946958 –

回答

8

您可以使用Iterator.

使用迭代器,你可以遍歷一個列表中的所有元素在任何 方向。你可以通過調用next()方法訪問下一個元素。

JSONObject reader = new JSONObject(success); 
       Iterator iteratorObj = reader .keys(); 
       ArrayList<String> al_getAllKeys=new ArrayList<String>(); 
       while (iteratorObj.hasNext()) 
       { 
        String getJsonObj = (String)iteratorObj.next(); 
        ..... 
        System.out.println("Key: " + Key + "------>" + getJsonObj); 

       } 
+1

先生urs解決方案始終是完美:) –

0

可以使用傑克遜工具CONVER JSON來POJO 下面的代碼

public void parse(String json) { 
     JsonFactory factory = new JsonFactory(); 

     ObjectMapper mapper = new ObjectMapper(factory); 
     JsonNode rootNode = mapper.readTree(json); 

     Iterator<Map.Entry<String,JsonNode>> fieldsIterator = rootNode.fields(); 
     while (fieldsIterator.hasNext()) { 

      Map.Entry<String,JsonNode> field = fieldsIterator.next(); 
      System.out.println("Key: " + field.getKey() + "\tValue:" + field.getValue()); 
     } 
} 

高興有限公司@丁片斷.. !!