Springboot读取resources下的json配置文件
一、编写json文件放置在resources目录下
例:编写test.json文件,放在Springboot工程resource目录下
{
"string": "王大锤",
"object": {
"objectTest": "objectTestValue"
},
"array": [
{
"arrayTest": "arrayTestValue"
}
]
}
二、文件读取及解析
解析json文件的内容用使用了fastjson包,可在pom文件中进行以下引用:
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.49</version> </dependency>
解析方法:
public void JsonTest() throws IOException {
String path = "/test.json";
InputStream config = getClass().getResourceAsStream(path);
if (config == null) {
throw new RuntimeException("读取文件失败");
} else {
JSONObject json = JSON.parseObject(config, JSONObject.class);
System.out.println(json);
}
}
以上方法输出的json参数,会完整打印test.json文件中的内容,并保留着json对象的性质。如果需要读取整个文件内容作为配置,着可直接使用此参数或进行相应的格式转换。 若只要文件中某一个参数作为配置进行引入,则可使用以下方法,进一步解析数据。
// 获取值为String类型的参数
String str = json.getString("string");
// 获取值为{}对象类型的参数
JSONObject obj = json.getJSONObject("object");
// 获取值为[]数组(列表)类型的参数
JSONArray array = json.getJSONArray("array");
json文件类类型基本就这三种,复杂的json文件需要有耐心层层解析得到数据,有规律的json数据可通过建立类的方式,直接转换成实体类进行解析。
