一、准备 json 数据
{
"name": "mike",
"age": 17,
"gender": 1,
"subject": [
"math",
"english"
]
}
二、对应的java对象
package com.demo.controller;
import lombok.Data;
import java.util.List;
@Data
public class Student {
private String name;
private Integer age;
private Integer gender;
private List<String> subject;
}
这里需要注意的是,json 中的属性,必须和 java 中的属性一一对应,如果存在偏差,就会在读取时,java 中的对象值为 null,切记。
三、代码演示
package com.demo.yanshi;
import com.alibaba.fastjson.JSON;
import com.bonc.cade.core.exceptions.BaseException;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Json2Java {
public static void main(String[] args) {
Student student = new Student();
String line = null;
try (BufferedReader br = new BufferedReader(new FileReader("D:\\develop\\codehome\\demo\\src\\main\\java\\com\\wangyang\\demo\\yanshi\\json.txt"))) {
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line);
}
student = JSON.parseObject(String.valueOf(sb), Student.class);
} catch (IOException e) {
throw new BaseException("解析 json 文件数据失败:" + line, e);
}
System.out.println(student.toString());
}
}
这里是控制台打印的数据:
如果出现 json 中的数据,说明转化成功!
该方法无需添加任何依赖,唯一麻烦的地方是得先准备好 json 数据对应的 java 类。
由于演示代码太少,就不贴源码了
诸位可以点赞、收藏,方便下次使用