Cómo leer el archivo json en java con una simple biblioteca JSON

Quiero leer estoJSON archivo con java usando json simple library.

MiJSON archivo se ve así:

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

Este es el código java que escribí para leer este archivo:

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

Pero me sale la siguiente excepción:

Excepción en el hilo "main" java.lang.ClassCastException: org.json.simple.JSONArray no se puede convertir en org.json.simple.JSONObject en javaapplication1.JavaApplication1.main (JavaApplication1.java:24)

¿Alguien puede decirme que estoy haciendo mal? El archivo completo es una matriz y hay objetos y otra matriz (coches) en toda la matriz del archivo. Pero no sé cómo puedo analizar toda la matriz en una matriz java. Espero que alguien pueda ayudarme con una línea de código que falto en mi código.

Gracias

Respuestas a la pregunta(13)

Su respuesta a la pregunta