Hallo,
ich versuche aus einem .json Daten zu lesen.
Soweit so schlecht. Der FileReader kann das questionFile nicht finden. Die .json ist im resoureces Ordner abglegt. Soviel zum ersten Problem. Da ich aus dem File nichts lesen kann, kann ich gerade auch nicht abwegen ob der Rest überhaupt so klappt.
So ist der grobe Aufbau der Json. Hier haber ich noch das Problem, das answers eigentlich eine Liste, hier aber nur was einzelnes erwartet wird. Wie kann ich daraus eine Liste machen?
Danke,
Lou
ich versuche aus einem .json Daten zu lesen.
Java:
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
class Scratch {
public static void main(String[] args) {
final File questionFile = new File("/questions.json");
Scratch scratch = new Scratch();
System.out.println(scratch.readQuestion().question);
}
public void readQuestion() {
try {
JsonElement questionElement = JsonParser.parseReader(new FileReader(questionFile));
JsonObject questionObject = questionElement.getAsJsonObject();
JsonArray jsonArrayOfQuestions = questionObject.get("questions").getAsJsonArray();
for (JsonElement qElement : jsonArrayOfQuestions){
JsonObject qJsonObject = qElement.getAsJsonObject();
String question = qJsonObject.get("question").getAsString();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
Soweit so schlecht. Der FileReader kann das questionFile nicht finden. Die .json ist im resoureces Ordner abglegt. Soviel zum ersten Problem. Da ich aus dem File nichts lesen kann, kann ich gerade auch nicht abwegen ob der Rest überhaupt so klappt.
JSON:
{"questions":[
{
"question": "Was ist kein Buchstabe?",
"answers" : "A" // hier eigentlich noch 3 weitere Strings
},
{
"question" :"Andere Frage ...?",
"answers" : "..."
}
]
}
So ist der grobe Aufbau der Json. Hier haber ich noch das Problem, das answers eigentlich eine Liste, hier aber nur was einzelnes erwartet wird. Wie kann ich daraus eine Liste machen?
Danke,
Lou