无法将JSON文件解析为JAVA。需要帮助

时间:2014-12-29 19:47:22

标签: java json

我正在尝试使用以下代码解析json文件,但是我不断收到错误

  

java.lang.String无法强制转换为org.json.simple.JSONArray

指的是以下一行

JSONArray listOfNames = (JSONArray) jsonObject.get("Name");

它出了什么问题?有谁知道这是什么问题?我已经尝试了googleing并在stackoverflow上检查了类似的帖子但是我似乎无法解决它。

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 JSONReading {
    public static void main(String[] args) {
        JSONParser parser = new JSONParser();
        try {
            Object obj = parser.parse(new FileReader("JSON/file.json"));
            JSONObject jsonObject = (JSONObject) obj;
            JSONArray listOfNames = (JSONArray) jsonObject.get("Name");
            Iterator<String> iterator = listOfNames.iterator();
            while (iterator.hasNext()) {
                System.out.println(iterator.next());
            }
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        } catch (ParseException e) {  
            e.printStackTrace();  
        }  
    }
}

1 个答案:

答案 0 :(得分:0)

错误是由于错误的语句更改

JSONArray listOfNames = (JSONArray) jsonObject.get("Name");

JSONArray listOfNames = new JSONArray(jsonObject.get("Name"));