Unten ist Teil meines Java-CodeJson und Java-Konvertierung
Type relMapType = new TypeToken<Map<String, Map<String, Map<String ,Map<String, List<Set<ProfileData>>>>>>>(){}.getType();
InputStream is = new FileInputStream("D:\\work.json");
String jsonTxt;
try {
jsonTxt = IOUtils.toString(is);
System.out.println(jsonTxt);
JSONObject jsons = new JSONObject(jsonTxt);
String jString= gson.toJson(jsons);
gson.fromJson(jString, relMapType);
} catch (IOException e) {
e.printStackTrace();
}
Im Folgenden meine JSON-Daten in "work.json" Datei sind
{
"string1":{
"string2":{
"string3":{
"string4":[
{
"primaryKey":{
"projectCode":"PC",
"type":"type1",
"code1":"data1",
"code2":"data2"
},
"status":"status1",
"Id":"123",
"frequency":"freq",
"destFre":"destFreq"
}
]
}
}
}
}
, wenn ich den Code immer unter Ausnahme ausgeführt werden. Kann mir jemand helfen?
Exception in thread "main" com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 5 column 21
at com.google.gson.Gson.fromJson(Gson.java:806)
at com.google.gson.Gson.fromJson(Gson.java:761)
at com.google.gson.Gson.fromJson(Gson.java:710)
at com.JsonExample.main(JsonExample.java:97)
Verursacht durch: java.lang.IllegalStateException: Erwartete BEGIN_ARRAY aber war BEGIN_OBJECT in Zeile 5 Spalte 21
Ich vermute, dass 'Liste>' ist nicht richtig –
Konstruieren Sie ein solches Objekt programmatisch und dann 'gson.toGson'. Sie werden sehen, wie der JSON wie – xenteros
@ Xenteros aussehen sollte. Warum Sie diese Frage abstimmen ?? –