मैं JSON
java के साथ इस फाइल को json सिंपल लाइब्रेरी का उपयोग करके पढ़ना चाहता हूँ ।
मेरी JSON
फ़ाइल इस तरह दिखती है:
[
{
"name":"John",
"city":"Berlin",
"cars":[
"audi",
"bmw"
],
"job":"Teacher"
},
{
"name":"Mark",
"city":"Oslo",
"cars":[
"VW",
"Toyata"
],
"job":"Doctor"
}
]
यह जावा कोड है जो मैंने इस फाइल को पढ़ने के लिए लिखा है:
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();
}
}
}
लेकिन मुझे निम्नलिखित अपवाद मिलते हैं:
थ्रेड में मुख्य "java.lang.ClassCastException: org.json.simple.JSONArray को org.json.simple.JSONObject पर javaappationation1.JavaApplication1.main (JavaApplication1.java:24) पर नहीं डाला जा सकता है।
क्या कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूं? पूरी फ़ाइल एक सरणी है और फ़ाइल के पूरे सरणी में ऑब्जेक्ट और अन्य सरणी (कारें) हैं। लेकिन मैं नहीं जानता कि कैसे मैं एक जावा सरणी में पूरे सरणी को पार्स कर सकता हूं। मुझे उम्मीद है कि कोई मुझे एक कोड लाइन के साथ मदद कर सकता है जो मुझे अपने कोड में याद आ रही है।
धन्यवाद