一、准备 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 类。
由于演示代码太少,就不贴源码了
诸位可以点赞、收藏,方便下次使用