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