【Java】读取Json配置文件

时间:2025-03-08 08:11:07

获取全部Json文件内容返回:

public JSONObject getRoleJson(String fileName) {
    String path = getClass().getClassLoader().getResource(fileName).toString();
    path = ("\\", "/");

    if ((":")) {
        // path = (6);// 1
        path = ("file:", "");// 2
    }
    JSONObject jsonObject = null;
    String input;
    try {
        input = (new File(path), "UTF-8");
        jsonObject = (input);
        return jsonObject;
    } catch (IOException e) {
        ("json解析失败", e);
    }
    return jsonObject;
}

获取Json文件中单个字段内容:

//将  的数据转换成 JSON 对象
//需要创建一个解析器,可以用来解析字符串或输入流
JsonParser parser = new JsonParser();
try {
    //创建一个JSON对象,接收parser解析后的返回值
    //使用parse()方法,传入一个Reader对象,返回值是JsonElement类型
    //因为要读取文件,所以传入一个FileReader
    //JsonObject是JsonElement的子类,所以需要强转
    //有异常抛出,使用 try catch 捕获
    JsonObject object = (JsonObject) (new FileReader("src\\main\\resources\\"));
    JsonArray jsonArray = ("vehicleParameter").getAsJsonArray();
    (jsonArray);


    //先将两个外部的属性输出 category 和 pop
    //先 get 到名称(键),返回的是 JsonElement,再 getAs 转换成什么类型的值
    //依据 json 格式里的数据类型
    /*("category=" + ("category").getAsString());
    ("pop=" + ("pop").getAsBoolean());
    //接着读取里的JSON数组,名称是languages(键)
    //创建一个JsonArray
    JsonArray array = ("languages").getAsJsonArray();
    for (int i = 0; i < (); i++) {
        //分隔线
        ("-----------------");
        //创建一个JsonObject,从array的下标获取,get() 返回JsonElement类型
        //这里不用强转,而用 getAsJsonObject() 进行转换
        JsonObject subObject = (i).getAsJsonObject();
        ("id").getAsInt());
        ("name=" + ("name").getAsString());
        ("ide=" + ("ide").getAsString());
    }*/
} catch (JsonIOException e) {
    ();
} catch (JsonSyntaxException e) {
    ();
} catch (FileNotFoundException e) {
    ();
}