java 读取json文件

文章目录

    • json介绍
    • 使用方法

json介绍

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

使用方法

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

      
            com.alibaba
            fastjson
            1.2.47
      

代码实现
第一种方式

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

  
        org.springframework
        spring-core
        4.3.7.RELEASE
      
            
			commons-io
			commons-io
			2.4
		

实现代码

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);
}

你可能感兴趣的:(JAVA)