Java - 从JSON文件中提取值

时间:2017-09-12 13:14:46

标签: java json file-io

我有以下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 个答案:

答案 0 :(得分: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();
    }