解析json: pom.xml里一个依赖 commons-io 从文件中间读取json内容 // 声明这个文件 File file = new File(ReadJSONSample.class.getResource("/wangxiaoer.json").getFile()); //通过依赖 FileUtils String content = FileUtils.readFileToString(file); //通过 JSONObject 这个对象进行处理 JSONObject jsonObject = new JSONObject(content);
如何解释Json数据 JSONObject json=new JSONObject(content); System.out.println("姓名:"+json.getString("name")); Sytem.out.println("年龄:"+json.getInt("age")); System.out.println("是否有车:"+json.getBoolean("car")); JSONArray array=json.getJSONArray("major"); for(int I=0;i<array.length();I++) { String s=(String)array.get(I); System.outprintln("专业:"+(I+1)+m)); }
JSON中需要通过JSONArray来解析数组
图中第15行显示不全的方法为.getFile();
文件读取JSON
导入commons is 包。解析json数据为java数据
解析JSON数据
辅助:一般解析JSON数据时,需要获取JSON数据的途径,这个途径可能是文件读取或远程API网络上获取JSON数据,这里讲解从文件途径中进行文件读取,并转换成一个我们想要的对象,在pom文件中引入common-io的依赖,该包方便读取文件的内容。
案例:从一个文件中读取JSON数据,并转换为对象。
步骤1:项目中创建王小二的JSON格式数据。
步骤2:读取该文件,首先声明JSON文件的File,并指明该文件的路径(项目的根路径下)
步骤3:通过FileUtils类的readFileToString读入JSON文件,再通过JSONObject构造函数传入读入的JSON文件。
JSONObject提供了一些获取指定key值的方法:
【1】getString("key")获取value类型为String的值
【2】getDouble("key")获取value类型为number的值
【3】getBoolean("key")获取value类型为boolean的值
【4】getJSONArray("key")获取value类型为数组的值,它的返回值是JSONArray,它是一个数组。
JSONArray
File file = new File(类名.class.getResource("/XXX.json").getFile());
FileUtils.readFileToString();
解析json: pom.xml里一个依赖 commons-io 从文件中间读取json内容 // 声明这个文件 File file = new File(ReadJSONSample.class.getResource("/wangxiaoer.json").getFile()); //通过依赖 FileUtils String content = FileUtils.readFileToString(file); //通过 JSONObject 这个对象进行处理 JSONObject jsonObject = new JSONObject(content);
如何解释Json数据 JSONObject json=new JSONObject(content); System.out.println("姓名:"+json.getString("name")); Sytem.out.println("年龄:"+json.getInt("age")); System.out.println("是否有车:"+json.getBoolean("car")); JSONArray array=json.getJSONArray("major"); for(int I=0;i<array.length();I++) { String s=(String)array.get(I); System.outprintln("专业:"+(I+1)+m)); }
JSONArray获取一个JSON格式的数组
从文件中读取json数据,解析出需要的部分:
json文件:
特殊:
在生成json数据时,数组可以通过put进入list或者set或者数组就行。
但是在解析的时候JSONObject这个工具类是没有办法将json数据转换成list、set或者数组的,所以需要用到JSONArray对象。
使用JSONArray来获取数组
从文件中读取JSON
首先读取文件
把文件转化为String类型的
构建JSONObject对象读取相关的属性
解析json: pom.xml里一个依赖 commons-io 从文件中间读取json内容 // 声明这个文件 File file = new File(ReadJSONSample.class.getResource("/wangxiaoer.json").getFile()); //通过依赖 FileUtils String content = FileUtils.readFileToString(file); //通过 JSONObject 这个对象进行处理 JSONObject jsonObject = new JSONObject(content);
如何解释Json数据 JSONObject json=new JSONObject(content); System.out.println("姓名:"+json.getString("name")); Sytem.out.println("年龄:"+json.getInt("age")); System.out.println("是否有车:"+json.getBoolean("car")); JSONArray array=json.getJSONArray("major"); for(int I=0;i<array.length();I++) { String s=(String)array.get(I); System.outprintln("专业:"+(I+1)+m)); }
getJSONArray()是我要获取JSON格式的数组
major是key 返回值就是JSONArray
解析json
加入依赖读取json文件