2014-01-23 60 views
2

我是JSON的新手,我正在學習使用json.simple庫。我無法弄清楚如何訪問嵌套對象或數組中的值。這裏是我正在使用的JSON文件:使用json.simple遍歷嵌套的JSON文件

{ 
    metrics: { 
     steps: { 
     min: 0, 
     max: 140, 
     sum: 1161, 
     summary: { 
      max_steps_per_minute: null, 
      min_steps_per_minute: null 
     }, 
     values: [ 
      0, 
      0, 
      0, 
      0, 
      0, 
      13, 
      0, 
      0, 
      0, 
+0

我建議您[gson](http://code.google.com/p/google-gson/)庫。這對json有數組非常有用。 – wawek

回答

3

當然,只要我問了這個問題,我就知道了。如果其他人需要這些信息,請參考以下代碼:

public void fileDecode() 
    { 
     JSONParser parser = new JSONParser(); 

     try 
     { 
      FileReader file = new FileReader("C:\\JSONData\\test.json"); 
      Object obj = parser.parse(file); 
      JSONObject jsonObject = (JSONObject)obj; 
      JSONObject metrics = (JSONObject)jsonObject.get("metrics"); 
      JSONObject steps = (JSONObject)metrics.get("steps"); 
      JSONArray values = (JSONArray)steps.get("values"); 

      Iterator<Integer> iterator = values.iterator(); 
      while (iterator.hasNext()) 
      { 
       System.out.println(iterator.next()); 
      } 
      System.out.println(steps.get("min")); 
      System.out.println(metrics.get("steps")); 
      System.out.println(jsonObject.get("metrics")); 

      file.close(); 
     } 

     catch (FileNotFoundException e) 
     { 
      e.printStackTrace(); 
     } 
     catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 
     catch (ParseException e) 
     { 
      e.printStackTrace(); 
     } 

    }