一、编写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数据可通过建立类的方式,直接转换成实体类进行解析。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐