如何使用org.json.simple解析没有根元素的JSON文件?
问题描述:
我想使用org.json.simple库解析json文件“c:/employeesRecord.json”。以下是样本json数据,每条记录由文件中的下一行指定。如何使用org.json.simple解析没有根元素的JSON文件?
{"Employees ":["A ;B ;C ;D ;E ;F"],"JobTitle":"Software Engineer"}
{"Employees ":["A ;B ;C ;D ;E ;F"],"JobTitle":"Software Engineer"}
{"Employees ":["A ;B ;C ;D ;E ;F"],"JobTitle":"Software Engineer"}
...
如何使用org.json.simple解析这种没有根元素的json文件。
答
由于完整文件不是有效的JSON对象,您将需要逐行解析它,即。阅读第一行,使用解析器解析它,保存结果,然后重复下一行。
答
可以“调整”从文件中输入,并将其转变成一个有效的JSON格式
String json = <your json from file>
json = "[" + json + "]";
json = json.replace("\n",",");
// parse your json, now it should be a valid.
+0
是的,它可以转换为有效的JSON格式。 –
答
分析它一行行由\n
劈裂后。
String[] lines = json.split("\n");
List<JsonObject> objects = new ArrayList<>(lines.length); // depending on the JSON library you are using
for(String line : lines) {
objects.add(parseJson(line));
}
以换行符('.split(“\ n”)')分割字符串/缓冲区并逐个解析它们? – SOFe
你想给我一个例子吗? –
对于使用Gson的Android,它在[链接]中解决(http://stackoverflow.com/questions/22334650/convert-json-without-root-element-to-object-using-gson-ksoap2-json-net) –