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

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 2 个月前
8c391e04 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐