Bunu okumak istiyorum JSON
dosyayı json basit kitaplığı kullanarak java ile .
Dosyam JSON
şöyle görünüyor:
[
{
"name":"John",
"city":"Berlin",
"cars":[
"audi",
"bmw"
],
"job":"Teacher"
},
{
"name":"Mark",
"city":"Oslo",
"cars":[
"VW",
"Toyata"
],
"job":"Doctor"
}
]
Bu dosyayı okumak için yazdığım java kodu:
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();
}
}
}
Ama şu istisnayı alıyorum:
"Main" iş parçacığındaki istisna java.lang.ClassCastException: org.json.simple.JSONArray javaapplication1.JavaApplication1.main (JavaApplication1.java:24) konumunda org.json.simple.JSONObject'e dönüştürülemez
Biri bana neyi yanlış yaptığımı söyleyebilir mi? Dosyanın tamamı bir dizidir ve dosyanın tüm dizisinde nesneler ve başka bir dizi (arabalar) vardır. Ama tüm diziyi java dizisine nasıl ayrıştıracağımı bilmiyorum. Umarım biri kodumda eksik olan bir kod satırı konusunda bana yardımcı olabilir.
Teşekkürler