【发布时间】:2017-11-22 13:42:40
【问题描述】:
我有一个非常大的 JSON 文件,格式如下:
[{"fullname": "name1", "id": "123"}, {"fullname": "name2", "id": "245"}, {"fullname": "name3", "id": "256"}]
它看起来像一个 JSONArray。所有的记录都写在同一行。
你能帮我如何使用 Java 解析这个文件吗?我想读取每个 JSON 对象并显示所有全名和 ID。以下是我的尝试,但我的代码不起作用:
import org.apache.commons.lang3.StringEscapeUtils;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
public class JSONFileReaderDriver {
public static void main(String[] args) throws FileNotFoundException,
IOException, ParseException
{
String filename="Aarau";
String src="C:\\"+filename+".json";
JSONParser parser = new JSONParser();
JSONObject obj;
try
{
BufferedReader br=new BufferedReader (new FileReader(src));
obj = (JSONObject) new JSONParser().parse(row);
String fullname=obj.get("fullname");
String id=obj.get("id");
System.out.println ("fullname: "+fullname+" id: "+id);
}catch(Exception e)
{e.printStackTrace();}
br.close();
}
}
【问题讨论】:
-
如果解析简单,你打算使用像 gson 这样的库吗?
-
您的代码在什么方面不起作用?您看到任何错误吗?
-
“但我的代码不起作用” - 具体是什么不起作用?是否有任何错误或异常?
-
错误:在 org.json.simple.parser.JSONParser.parse 的 org.json.simple.parser.JSONParser.parse(JSONParser.java:257) 位置 0 处出现意外的标记 END OF FILE (JSONParser.java:81) 在 org.json.simple.parser.JSONParser.parse(JSONParser.java:75) 在 JSONReader.JSONFileReaderDriver.main(JSONFileReaderDriver.java:56)
-
[...].parse(row);- 什么是row?