下面是详细讲解“Java读取本地json文件及相应处理方法”的完整攻略。
1. 概述
在Java中,读取本地的JSON文件并对其进行相应的处理对于实现一些功能非常有帮助。Java本身提供了多种读取文件的方式,其中最常用的是使用FileInputStream和BufferedInputStream,同时读取JSON文件的方法包括使用JSON.parseObject方法和Gson解析库。
2. 读取JSON文件的基本步骤
步骤如下:
- 使用FileInputStream和BufferedInputStream读取JSON文件,可以使用下面的代码:
java
File file = new File("example.json");
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
- 构建一个ByteArrayOutputStream对象,将读取到的文件内容写入到byte数组中,可以使用下面的代码:
java
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
while((len = bis.read(buffer)) > 0){
bos.write(buffer, 0, len);
}
bis.close();
fis.close();
bos.flush();
byte[] byteArray = bos.toByteArray();
- 将byte数组转换为JSON格式的字符串,可以使用下面的代码:
java
String content = new String(byteArray, StandardCharsets.UTF_8);
- 将JSON字符串解析成JSON对象,可以使用下面的代码:
java
JSONObject jsonObject = JSON.parseObject(content);
- 对解析的JSON对象进行相应的处理即可。
3. 两个示例
下面分别介绍两个示例:
示例1:读取本地JSON文件并输出
- 新建一个example.json文件,文件内容如下:
json
{
"name": "Tom",
"age": 18,
"hobby": [
"singing",
"dancing",
"swimming"
]
}
- 将该文件读取并输出:
java
File file = new File("example.json");
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
while((len = bis.read(buffer)) > 0){
bos.write(buffer, 0, len);
}
bis.close();
fis.close();
bos.flush();
byte[] byteArray = bos.toByteArray();
String content = new String(byteArray, StandardCharsets.UTF_8);
JSONObject jsonObject = JSON.parseObject(content);
System.out.println(jsonObject);
输出结果如下:
{"hobby":["singing","dancing","swimming"],"name":"Tom","age":18}
示例2:将本地JSON文件转换为Java对象
- 新建一个Person.java类,包含name、age和hobby三个属性,如下:
```java
public class Person {
private String name;
private int age;
private List
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public List<String> getHobby() {
return hobby;
}
public void setHobby(List<String> hobby) {
this.hobby = hobby;
}
}
```
- 将example.json文件转换为Person对象:
java
File file = new File("example.json");
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
while((len = bis.read(buffer)) > 0){
bos.write(buffer, 0, len);
}
bis.close();
fis.close();
bos.flush();
byte[] byteArray = bos.toByteArray();
String content = new String(byteArray, StandardCharsets.UTF_8);
JSONObject jsonObject = JSON.parseObject(content);
Person person = new Person();
person.setName(jsonObject.getString("name"));
person.setAge(jsonObject.getIntValue("age"));
person.setHobby(jsonObject.getJSONArray("hobby").toJavaList(String.class));
System.out.println(person.getName());
System.out.println(person.getAge());
System.out.println(person.getHobby());
输出结果如下:
Tom
18
[singing, dancing, swimming]
4. 总结
以上就是Java读取本地JSON文件及相应处理方法的完整攻略,通过本文介绍的方法,你可以轻松地读取本地JSON文件,并对其进行相应的处理。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java读取本地json文件及相应处理方法 - Python技术站