Jak odczytać plik json do Java z prostą biblioteką JSON

Chcę to przeczytaćJSON plik z java przy użyciu prostej biblioteki json.

MójJSON plik wygląda tak:

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

To jest kod java, który napisałem, aby przeczytać ten plik:

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();
        }
    }
}

Ale mam następujący wyjątek:

Wyjątek w wątku „main” java.lang.ClassCastException: org.json.simple.JSONArray nie można rzutować na org.json.simple.JSONObject w javaapplication1.JavaApplication1.main (JavaApplication1.java:24)

Czy ktoś może mi powiedzieć, co robię źle? Cały plik jest tablicą i istnieją obiekty i inna tablica (samochody) w całej tablicy pliku. Ale nie wiem, jak mogę przeanalizować całą tablicę do tablicy java. Mam nadzieję, że ktoś może mi pomóc z linią kodu, której brakuje w moim kodzie.

Dzięki

questionAnswers(13)

yourAnswerToTheQuestion