2017-09-12 65 views
0

我有以下的JSON文本文件:爪哇 - 從JSON文件中提取的值

{ 
    "quiz": { 
    "q1": { 
     "question": "Is this a test?", 
     "options": [ 
     "TEST A", 
     "TEST B", 
     "TEST C", 
     "TEST D" 
     ], 
     "answer": "TEST A" 
    }, 
    "q2": { 
     "question": "Are you sure?", 
     "options": [ 
     "TEST A", 
     "TEST B", 
     "TEST C", 
     "TEST D" 
     ], 
     "answer": "TEST C" 
    } 
    } 
} 

我試圖寫一個程序,是最終能夠從這個文件取值,並在GUI中顯示它們。

此刻,我有以下幾點:

JSONParser parser = new JSONParser(); 

    try { 

     Object obj = parser.parse(new FileReader("/Users/testing/Desktop/workspace/test1.txt")); 

     JSONObject jsonObject = (JSONObject) obj; 




    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

到底我會去爲獲得「Q1」,「問題」的價值?我明白在JS中我可以使用$.quiz.q1.question,但我不確定如何在Java中進行此操作。

回答

1
 JSONParser parser = new JSONParser(); 

    try { 

     Object obj = parser.parse(new FileReader("/Users/testing/Desktop/workspace/test1.txt")); 

     JSONObject jsonObject = new JSONObject(obj.toString);<-----change 

JSONObject que1Obj = jsonObject.getJSONObject("q1")<------ like this 
     String questionTitle = que1Obj.getString("question"); 
      JSONArray questionsArray =que1Obj.getJSONArray("options"); 
     String answer = que1Obj.getString("answer"); 






    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
+0

我得到'方法getJSONObject(字符串)是未定義的類型jsonobject'錯誤使用您的上述建議。 – BIGJOHN

+0

嘗試JSONObject jsonObject = new JSONObject(obj.toString); –

+0

@AndrewClark檢查更新的答案 –