Guten Morgen Zusammen,
ich versuche gerade eine Json datei auszulesen, aber komme nicht so recht weiter.
Die Datei zu öffnen und den Gesamten Inhalt auszulesen hat gut funktioniert.
Jetzt habe ich allerdings Probleme die Einzelnen Varbiablen auszulesen.
Den Gesamten inhalt von GENERAL kann ich auslesen aber ich habe Probleme auf PRODID und die anderen Variablen zuzugreifen.
Habt ihr einen Rat für mich?
ich versuche gerade eine Json datei auszulesen, aber komme nicht so recht weiter.
Die Datei zu öffnen und den Gesamten Inhalt auszulesen hat gut funktioniert.
Jetzt habe ich allerdings Probleme die Einzelnen Varbiablen auszulesen.
JSON:
[
"BOXCARD",
"1.0.0",
{
"GENERAL": {
"PRODID": "handmade",
"FN": "Test_A",
"PICTURE": "Test_A",
"KIND": "boxpara"
}
}
]
Java:
package classes;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.ObjectInputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONObject;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
public class ReadJson {
private static String dirPath ="Z:\\boxdb_test\\boxpara\\";
public static void main(String[] args) {
File file = new File(dirPath + "TEST_TEST.boxcard");
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setPrettyPrinting();
gsonBuilder.serializeNulls();
Gson gsonB = gsonBuilder.create();
try{
FileInputStream fi = new FileInputStream(file);
String content = new String(Files.readAllBytes(Paths.get(file.toURI())), "UTF-8");
JsonArray para = gsonB.fromJson(content, JsonArray.class);
System.out.println(para.size());
System.out.println(para.get(0));
System.out.println(para.get(1));
System.out.println(para.get(2));
JsonObject para1 = gsonB.fromJson(para.get(2), JsonObject.class);
JsonObject j = (JsonObject) ((JsonObject)para.get(2)).get("GENERAL");
//JsonObject ID = (JsonObject) (JsonObject)j.get("PRODID");
System.out.println(para1.size());
System.out.println(para1);
fi.close();
System.out.println(j);
// System.out.println(ID);
}catch(Exception e) {
System.out.println("ss");
e.printStackTrace();
}
}
}
Den Gesamten inhalt von GENERAL kann ich auslesen aber ich habe Probleme auf PRODID und die anderen Variablen zuzugreifen.
Habt ihr einen Rat für mich?