最近遇到了一个问题如何将一个json 字符串转换为javabean 的类
场景: 我有一个接口文档其中的响应都采用json 格式,我需要将json 转换为javabean 代码
我需要转为java 代码
/**
* Copyright 2021 bejson.com
*/
package com.bejson.pojo;
/**
* Auto-generated: 2021-10-07 14:44:31
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class JsonRootBean {
private String total;
private String subjectName;
private String subjectId;
private String firstName;
private String firstPhone;
private String firstTitle;
private String secondName;
private String secondPhone;
private String secodTitle;
private String studentName;
private String studentPhone;
private String studentNumber;
private String progress;
private String fillingNumber;
public void setTotal(String total) {
this.total = total;
}
public String getTotal() {
return total;
}
public void setSubjectName(String subjectName) {
this.subjectName = subjectName;
}
public String getSubjectName() {
return subjectName;
}
public void setSubjectId(String subjectId) {
this.subjectId = subjectId;
}
public String getSubjectId() {
return subjectId;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getFirstName() {
return firstName;
}
public void setFirstPhone(String firstPhone) {
this.firstPhone = firstPhone;
}
public String getFirstPhone() {
return firstPhone;
}
public void setFirstTitle(String firstTitle) {
this.firstTitle = firstTitle;
}
public String getFirstTitle() {
return firstTitle;
}
public void setSecondName(String secondName) {
this.secondName = secondName;
}
public String getSecondName() {
return secondName;
}
public void setSecondPhone(String secondPhone) {
this.secondPhone = secondPhone;
}
public String getSecondPhone() {
return secondPhone;
}
public void setSecodTitle(String secodTitle) {
this.secodTitle = secodTitle;
}
public String getSecodTitle() {
return secodTitle;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getStudentName() {
return studentName;
}
public void setStudentPhone(String studentPhone) {
this.studentPhone = studentPhone;
}
public String getStudentPhone() {
return studentPhone;
}
public void setStudentNumber(String studentNumber) {
this.studentNumber = studentNumber;
}
public String getStudentNumber() {
return studentNumber;
}
public void setProgress(String progress) {
this.progress = progress;
}
public String getProgress() {
return progress;
}
public void setFillingNumber(String fillingNumber) {
this.fillingNumber = fillingNumber;
}
public String getFillingNumber() {
return fillingNumber;
}
}
由于有很多这种类似的json 需要转换为Java 代码,一个个手写效率太慢,我查了一下有些在线json转换工具但是他们只能一个一个转换,效率比较低,请问有效率更高的方式吗?还想问一下这种转换如何用代码实现
确实如评论所说,自己手写一个不是很难的,可能题主没有接触过类似的编码方式,因为这里不是写代码了,是要写出写代码的代码。有点套娃的感觉,哈哈哈。
而这主要是元编程的范畴(但是元编程没有限制能写代码的代码的类型,但是由于我涉猎的局限性,我下面单只从
Java
生成Java
源文件的角度说)由于Java最终能够运行是需要有一个编译过程的,也就是
所以我们能做的元编程操作可以根据需要在这两种形式中去选择实现,也就是:
Java
生成Java
源文件,再将源文件与其他项目打包编译那上面两种对应了不同的库,简单小推荐一下我之前用过的
生成源文件:
javapoet
生成字节码:
javassist
byte-buddy
如果对性能有很大要求,还是建议用
ASM
,这个更偏底层,不过这个就需要用JVM
的汇编语言来操作,学习难度比较大,我自己也没有碰过(掩面)最后我简单用源文件(
javapoet
)的方式举例一下,如何根据一个json
数据生成源文件。代码地址
一个能写了,批量那就相对容易了~
差不多就这样叭,欢迎大家讨论~╰( ̄▽ ̄)╭