Ich habe erfolgreich eine JSON-Datei mit Gson erstellt, aber jetzt, da ich die gleiche Datei analysieren möchte, wird die Codierung alle durcheinander gebracht.Wie dekodiere ich eine JSON-Datei, die mit GSON in Java erstellt wurde?
Dies ist der Code, den ich verwende, um die JSON-Datei zu lesen:
BufferedReader jsonFile = new BufferedReader(new FileReader("file.json"));
Map<String, List<long[]>> trafficInput = new HashMap<>();
trafficInput = gson.fromJson(jsonFile, HashMap.class);
ich nicht scheinen, um herauszufinden kann, wie die Datei die richtige Art und Weise analysiert wird, um sicherzustellen.
Zum Beispiel dieses gültige JSON-Code aus der Datei:
{"paris":[[1485907200000,182184411,41274],[1485993600000,151646118,36697],"london":[[1485907200000,30200160,155827]}
... wird wie folgt analysiert:
{"paris":[[1.4859072E12,1.82184411E8,41274.0],[1.4859936E12,1.51646118E8,36697.0],"london":[[1.4859072E12,3.020016E7,155827.0]}
Diese vermasselt den Rest des Codes auf, als die Long-Positionen aren‘ Es sehnt sich nicht mehr.
Zum Beispiel, wenn ich versuche, einen Wert zu drucken, etwa so:
System.out.println(trafficInput.get("paris").get(0)[0]);
... ich diesen Fehler:
Exception in thread "main" java.lang.ClassCastException: java.util.ArrayList cannot be cast to [J
Hilfe?
Das könnte nur 'toString' Implementierung von' List/long' sein, haben Sie versucht, durch die Liste zu drucken einzelnen Wert zu drucken? –
Ich habe und es ist ein Fehler. Es besagt, dass die List/longs nicht so lange durchlaufen werden können. Strings funktionieren jedoch auch nicht. – TheBigDoubleA
'System.out.println (trafficInput.get (" paris "). Get (0) [0]));' Was wird gedruckt? –