如何获取保存在本地项目目录中的 json 对象的长度?

How to get a length of json object saved in local project directory?

我有 spring-boot 项目,我的项目结构如下所示...

-src
-target
-pom.xml
-uploaded_json
 -- example.json

这是我的 example.json

[
    {
        "Username": "U1",
        "Password": "P1",
    },
    {
        "Username": "U2",
        "Password": "P2",
    },
    {
        "Username": "U3",
        "Password": "P3",
    }  
]
 

我可以读取example.json并将其保存为int类型变量吗?我应该使用 java.io.File 对象吗?请帮我弄清楚如何获取 JSON 文件的长度。提前谢谢你。

编辑:我用简单的方法做了一个方法-json。

@GetMapping("getJSON")
    public String testmethod() {
        JSONParser parser = new JSONParser();
        File directory = new File(".");
        JSONArray a;
        try {
            a = (JSONArray) parser.parse(new FileReader(
                    directory.getCanonicalPath() + "\uploaded_json\example.json"));
            int length = a.size();
            System.out.println(length);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;

    }

我会使用 jackson-databind library,使用 class JsonNode

maven 存储库上的最新版本是 2.11.1

compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.11.1'

这是一个使用 jackson-databind 获取尺寸的示例:

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;

public class GradleApplication {
    public static void main(String[] args) {
    

        try {
            File jsonFile = Paths.get("src", "main", "resources", "example.json").toFile();
            ObjectMapper mapper = new ObjectMapper();
            JsonNode node = mapper.readTree(jsonFile);
            System.out.println("The size of the json is : "+ node.size());
        } catch (IOException e) {
            e.printStackTrace();
        }

     
    }
}