iterieren durch json-Objekte in java
Ich versuche zu Durchlaufen, meine json-Datei und erhalten Sie die erforderlichen details
hier mein json
{
"000": {
"component": "c",
"determinantType": "dt",
"determinant": "d",
"header": "h",
"determinantvalue": "null"
},
"001": {
"component": "t",
"determinantType": "i",
"determinant":"ld",
"header": "D",
"determinantvalue": "null"
},
"002": {
"component": "x",
"determinantType": "id",
"determinant": "pld",
"header": "P",
"determinantValue": "null"
}}
mein java-code
FileReader file = new FileReader("test.json");
Object obj = parser.parse(file);
System.out.println(obj);
JSONObject jsonObject = (JSONObject) obj;
JSONArray msg = (JSONArray) jsonObject.get(key);
Iterator<String> iterator = msg.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
String component = (String) jsonObject.get("component");
System.out.println("component: " + component);
Wie Sie sehen können in dem code bin ich importieren meine json-Datei und versucht, weitere Elemente an-und Druck-Komponenten aus , ich sollte auch print header,Determinante und der Determinante-Wert als auch
Danke
- Sie bekommen eine Fehlermeldung? Was nicht funktioniert über diesen code?
- Sie haben noch keine json-arrays, soweit ich sehen kann - und wir wissen nicht, was
key
ist. - JSONArray msg = (JSONArray) jsonObject.get(key); "Hier bin ich versucht zu bekommen, alle Schlüssel, d.h.,'000','001','002'" so kann ich es verwenden, um zu Durchlaufen , aber ich bin nicht in der Lage, die Schlüssel zu bekommen
- Es gibt keine JSONArray in Ihre Datei. Nur ein Objekt, das mehrere Objekte mit mehreren Eigenschaften.
- So werden Sie sagen, ich sollte nicht verwenden, JSONArray, und ich kann nicht Durchlaufen, und alle Elemente ?
- Ich sage, sollten Sie nicht verwenden JSONArray, weil es nicht alle ein array im JSON-Format. Das ist nicht das gleiche wie zu sagen, man kann nicht Durchlaufen, um alle Elemente - siehe meine Antwort.
- Wenn Sie überlegen, Ihre Frage beantwortet, dann sollten Sie akzeptieren eine anwser.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du nicht ein array - du musst Eigenschaften mit dem Namen "000" etc. Ein array würde wie folgt Aussehen:
Hinweis: die
[ ... ]
- das ist, was gibt ein JSON-array.Können Sie Durchlaufen und die Eigenschaften eines
JSONObject
mitkeys()
:Oder:
List<String>
von den Tasten, und rufen Sie dannCollections.sort
vor dem Holen von Ihnen...ArrayList<String>
und füllen Sie es aus einen iterator...Gibt es nicht
JSONArray
nur ein paarJSONObjects
. Die Iteration der Schlüssel des Haupt -JSONObject
mitJSONObject.keys()
.versuchen, diese...
msg
die schwarzarbeit...iterator()
aufJSONObject
, die nicht über so eine Methode...