2017-04-06 81 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()); 
     } 
} 

高兴有限公司@丁片断.. !!