位置0处的意外字符(i)。用Java解析JSON
{
"0" : {
"upc" : "00000000005",
"name" : "Weighable Soup Cups",
"location" : "5310ed21d5dc7aaa0343a932"
},
"1" : {
"upc" : "00000000011",
"name" : "OF Reuseable Bags",
"location" : "5310ed21d5dc7aaa0343a932"
}
}
这是我试图解析的JSON的一个片段。以下是我正在使用的代码:
public class Main {
public static void main(String[] args) {
JSONParser parser = new JSONParser();
JSONObject jsonObject = null;
try {
jsonObject = (JSONObject) parser.parse("items.json");
} catch (ParseException e) {
e.printStackTrace();
}
JSONObject structure = (JSONObject) jsonObject.get("0");
System.out.println(structure.get("upc"));
}
}
由于某些原因,在位置0处抛出意外字符(i)。据我所知,JSON文件的格式正确,可以进行解析,而且代码是可靠的,所以我不明白为什么这样做行不通。谢谢
# 1 楼答案
JSONParser#parse(String)
需要JSON字符串,而不是文件名您可以使用重载方法,该方法需要一个
Reader
,并提供一个InputStreamReader
来包装一个FileInputStream