Java 如何使用org.JSON.simple解析没有根元素的JSON文件?

Java 如何使用org.JSON.simple解析没有根元素的JSON文件?,java,json,json-simple,Java,Json,Json Simple,我想使用org.json.simple库解析json文件“c:/employeesRecord.json”。下面是示例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"],

我想使用org.json.simple库解析json文件“c:/employeesRecord.json”。下面是示例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.
String json=
json=“[”+json+“]”;
json=json.replace(“\n”,“,”);
//解析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));
}
String[]line=json.split(“\n”);
列表对象=新的ArrayList(lines.length);//取决于您使用的JSON库
用于(字符串行:行){
add(parseJson(line));
}

按换行符(
.Split(“\n”)
)拆分字符串/缓冲区并逐个解析它们?您想给我举个例子吗?对于使用Gson的Android,它在中得到了解决。我们鼓励您发布自己的解决方案作为问题的答案。是的,我的json无效,但我需要处理这些文件。感谢@pemapmoder,您的解决方案适用于。