So lesen Sie eine JSON-Datei in Java mit einer einfachen JSON-Bibliothek

Ich möchte das lesenJSON Datei mit Java mit JSON Simple Library.

MeineJSON Datei sieht so aus:

[  
    {  
        "name":"John",
        "city":"Berlin",
        "cars":[  
            "audi",
            "bmw"
        ],
        "job":"Teacher"
    },
    {  
        "name":"Mark",
        "city":"Oslo",
        "cars":[  
            "VW",
            "Toyata"
        ],
        "job":"Doctor"
    }
]

Dies ist der Java-Code, den ich zum Lesen dieser Datei geschrieben habe:

package javaapplication1;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class JavaApplication1 {
    public static void main(String[] args) {

        JSONParser parser = new JSONParser();

        try {     
            Object obj = parser.parse(new FileReader("c:\\file.json"));

            JSONObject jsonObject =  (JSONObject) obj;

            String name = (String) jsonObject.get("name");
            System.out.println(name);

            String city = (String) jsonObject.get("city");
            System.out.println(city);

            String job = (String) jsonObject.get("job");
            System.out.println(job);

            // loop array
            JSONArray cars = (JSONArray) jsonObject.get("cars");
            Iterator<String> iterator = cars.iterator();
            while (iterator.hasNext()) {
             System.out.println(iterator.next());
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

Aber ich bekomme folgende Ausnahme:

Ausnahme im Thread "main" java.lang.ClassCastException: org.json.simple.JSONArray kann nicht in org.json.simple.JSONObject um javaapplication1.JavaApplication1.main (JavaApplication1.java:24) umgewandelt werden

Kann mir jemand sagen, was ich falsch mache? Die gesamte Datei ist ein Array und es gibt Objekte und ein weiteres Array (Autos) im gesamten Array der Datei. Aber ich weiß nicht, wie ich das ganze Array in ein Java-Array analysieren kann. Ich hoffe, jemand kann mir mit einer Codezeile helfen, die mir in meinem Code fehlt.

Vielen Dank

Antworten auf die Frage(13)

Ihre Antwort auf die Frage