Saya ingin membaca JSON
file ini dengan java menggunakan json simple library.
JSON
File saya terlihat seperti ini:
[
{
"name":"John",
"city":"Berlin",
"cars":[
"audi",
"bmw"
],
"job":"Teacher"
},
{
"name":"Mark",
"city":"Oslo",
"cars":[
"VW",
"Toyata"
],
"job":"Doctor"
}
]
Ini adalah kode java yang saya tulis untuk membaca file ini:
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();
}
}
}
Tapi saya mendapatkan pengecualian berikut:
Pengecualian di utas "main" java.lang.ClassCastException: org.json.simple.JSONArray tidak dapat ditransmisikan ke org.json.simple.JSONObject di javaapplication1.JavaApplication1.main (JavaApplication1.java:24)
Bisakah seseorang memberi tahu saya apa yang saya lakukan salah? Seluruh file adalah array dan ada objek dan array lain (mobil) di seluruh array file. Tapi saya tidak tahu bagaimana saya bisa mengurai seluruh array menjadi array java. Saya berharap seseorang dapat membantu saya dengan baris kode yang saya lewatkan dalam kode saya.
Terima kasih