java 读取json文件

文章目录

json介绍

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

使用方法

首先引入 jar, 如果是maven 项目,则在pom文件中加入

      <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.47</version>
      </dependency>

代码实现
第一种方式

public class App 
{
    public static String readJsonFile(String fileName) {
        String jsonStr = "";
        try {
            File jsonFile = new File(fileName);
            FileReader fileReader = new FileReader(jsonFile);

            Reader reader = new InputStreamReader(new FileInputStream(jsonFile),"utf-8");
            int ch = 0;
            StringBuffer sb = new StringBuffer();
            while ((ch = reader.read()) != -1) {
                sb.append((char) ch);
            }
            fileReader.close();
            reader.close();
            jsonStr = sb.toString();
            return jsonStr;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }
 public static void main( String[] args ) throws IOException
    {
      String path =  App.class.getClassLoader().getResource("test.json").getPath();
/*
1.Class.getResource(“”),即不以”/”开头的路径,是从当前Class类所在的包下取路径;
2.Class.getResource(“/”),即以”/”开头的路径,是从ClassPath根目录下取路径;
3.ClassLoader.getResource(),即不以”/”开头的路径,是从ClassPath根目录下取路径;
4.ClassLoader.getResource(“/”),即以”/”开头的路径,结果为null;
5.Class.getResourceAsStream()和Class.getResource相同;
6.ClassLoader().getResourceAsStream()和ClassLoader.getResource()相同;
*/
        String s = readJsonFile(path);
        JSONArray jsonArray1 = JSON.parseArray(s);

        for (Object obj : jsonArray1) {

		        JSONObject jobj = (JSONObject) obj;
		
		        String name = jobj.getString("name");
		        System.out.println(name);
		        
		        String address = jobj.getString("address");
		        System.out.println(address);        
	}	        
}

第二种方式
还需要引入sping-core.jar 和 commons-io.jar需要在pom文件中加入相应的的dependencies

  <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>4.3.7.RELEASE</version>
      </dependency>
            <dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
		</dependency>

实现代码

public static void main( String[] args ) throws IOException
    {
        File jsonFile;
        String  json;
		jsonFile = ResourceUtils.getFile("classpath:test.json");
		json = FileUtils.readFileToString(jsonFile);
        JSONArray jsonArray = JSON.parseArray(json);
        for (Object obj : jsonArray) {
		        JSONObject jobj = (JSONObject) obj;	
		        String name = jobj.getString("name");
		        System.out.println(name);
		        String address = jobj.getString("address");
		        System.out.println(address);
}
发布了44 篇原创文章 · 获赞 0 · 访问量 1009

猜你喜欢

转载自blog.csdn.net/LTC_1234/article/details/104226408
今日推荐