计算Json文件中的元素数

时间:2017-11-16 15:12:52

标签: java json

所有类型的json元素,如json文件数组中的对象和简单的键值对。

1 个答案:

答案 0 :(得分:1)

致电JSONParser parser = new JSONParser(); obj = parser.parse(path);

parser.parse()需要一个实际的JSON字符串,而不是JSON文件的路径。

它希望看到类似的东西:

json.parse("{ "name":"John", "age":31, "city":"New York" }");

要修复代码,您可以执行以下操作:

List < String > list = new ArrayList < >();

try (BufferedReader br = Files.newBufferedReader(Paths.get(path))) {

    //br returns as stream and convert it into a List
    list = br.lines().collect(Collectors.toList());

} catch(IOException e) {
    e.printStackTrace();
}

StringBuilder sb = new StringBuilder();
for (String s: list) {
    sb.append(s);
}

String json = sb.toString()
JSONParser parser = new JSONParser();
obj = parser.parse(json);