Como ler o arquivo json em java com uma simples biblioteca JSON

eu quero ler istoJSON arquivo com java usando json biblioteca simples.

MinhasJSON arquivo se parece com isso:

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

Este é o código java que eu escrevi para ler este arquivo:

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

Mas recebo a seguinte exceção:

Exceção no segmento "main" java.lang.ClassCastException: org.json.simple.JSONArray não pode ser convertido em org.json.simple.JSONObject em javaapplication1.JavaApplication1.main (JavaApplication1.java:24)

Alguém pode me dizer o que estou fazendo errado? O arquivo inteiro é uma matriz e há objetos e outra matriz (carros) em toda a matriz do arquivo. Mas eu não sei como posso analisar toda a matriz em um array java. Espero que alguém possa me ajudar com uma linha de código que estou perdendo no meu código.

obrigado

questionAnswers(13)

yourAnswerToTheQuestion