代码拉取完成,页面将自动刷新
同步操作将从 angryid/json4bean 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
技术讨论 QQ 群 592835013(捧个人场)
超轻量级Json4Bean工具包(小于30k),源码不依赖任何第三方jar包,可扩展
特点:
超轻量级Json4Bean工具包(小于30k),源码不依赖任何第三方jar包
方法与功能:
JSON.writeBean方法(生成非赋值)
根据传入json参数生成javaBean实体
支持自定义生成javaBean包名
支持自定义生成javaBean模式(嵌套内部类或外部类)
支持自定义生成javaBean代码注释模板
JSON.parseObject方法(赋值非生成)
把Json字符串转为javaBean对象
JSON.toJsonString方法
把javaBean对象转为字符串
Maven 坐标
<dependency>
<groupId>com.javaear</groupId>
<artifactId>json4bean</artifactId>
<version>0.2.0</version>
</dependency>
演示 DEMO
示例代码
package com.javaear.json4bean;
import com.javaear.test.Student;
import java.io.File;
public class Json4BeanTest {
/* 测试json 数据 */
static String data = "[{\n" +
" \"id\": 123,\n" +
" \"name\": \"张三\",\n" +
" \"firend\": {\n" +
" \"fid\": \"f123\",\n" +
" \"fname\": \"李四\"\n" +
" },\n" +
" \"subjects\": [\n" +
" {\n" +
" \"sid\": \"o123\",\n" +
" \"sname\": \"王五\"\n" +
" },\n" +
" {\n" +
" \"sid\": \"o124\",\n" +
" \"sname\": \"马六\"\n" +
" }\n" +
" ]\n" +
"}]";
public static void main(String[] args) {
//JSON.setWriteMultiBean(true); //去掉此注释,生成javabean为多个对象,非内部类形式
//默认生成内部类JavaBean,可以通过去掉上边一行注释选择非内部类形式
writeBeanSimpleTest();
writeBeanWithPackageNameTest();
writeBeanWithPackageNameAndCodeTemplateTest();
parseObjectTest();
toJsonStringTest();
}
/**
* 极简生成测试
*/
public static void writeBeanSimpleTest(){
JSON.writeBean(data, "Student");
}
/**
* 附带pageckName生成测试
*/
public static void writeBeanWithPackageNameTest(){
JSON.writeBean(data, "Student", "com.javaear.test");
}
/**
* 附带pageckName、注释模板、生成测试
*/
public static void writeBeanWithPackageNameAndCodeTemplateTest(){
JSON.setCodeTemplate(System.getProperty("user.dir") + File.separator + "json4bean/src/test/resources/code-template.txt");
JSON.writeBean(data, "Student", "com.javaear.test", System.getProperty("user.dir") + File.separator + "json4bean/src/test/java/" + "com/javaear/test");
}
/**
* 解析json字符串为bean测试
*/
public static void parseObjectTest(){
Student student = JSON.parseObject(data, Student.class);
System.out.println(
"id为:"+student.getId()+
"name为:"+student.getName()+
"firend name为:"+student.getFirend().getFname()+
"subject 2 sname为:"+student.getSubjects().get(1).getSname());
}
/**
* 解析bean为Json测试
*/
public static void toJsonStringTest(){
//调用parse方法赋值的对象
Student student = JSON.parseObject(data, Student.class);
//解析bean为字符串
String str = JSON.toJsonString(student);
System.out.println(str);
}
}
生成效果
/*
* Copyright 2016-2016 Javaear Group Holding Ltd.
*/
package com.javaear.test;
import java.util.List;
/**
* @author aooer
*/
public class Student {
private Long id;
private String name;
private Firend firend;
private List<Subjects> subjects;
public static class Firend {
private String fid;
private String fname;
/**
* @return fid
*/
public String getFid() {
return this.fid;
}
/**
* @param fid fid
*/
public void setFid(String fid) {
this.fid = fid;
}
/**
* @return fname
*/
public String getFname() {
return this.fname;
}
/**
* @param fname fname
*/
public void setFname(String fname) {
this.fname = fname;
}
}
public static class Subjects {
private String sid;
private String sname;
/**
* @return sid
*/
public String getSid() {
return this.sid;
}
/**
* @param sid sid
*/
public void setSid(String sid) {
this.sid = sid;
}
/**
* @return sname
*/
public String getSname() {
return this.sname;
}
/**
* @param sname sname
*/
public void setSname(String sname) {
this.sname = sname;
}
}
/**
* @return id
*/
public Long getId() {
return this.id;
}
/**
* @param id id
*/
public void setId(Long id) {
this.id = id;
}
/**
* @return name
*/
public String getName() {
return this.name;
}
/**
* @param name name
*/
public void setName(String name) {
this.name = name;
}
/**
* @return firend
*/
public Firend getFirend() {
return this.firend;
}
/**
* @param firend firend
*/
public void setFirend(Firend firend) {
this.firend = firend;
}
/**
* @return subjects
*/
public List<Subjects> getSubjects() {
return this.subjects;
}
/**
* @param subjects subjects
*/
public void setSubjects(List<Subjects> subjects) {
this.subjects = subjects;
}
}
√表示已支持、×表示暂未支持
2.其他需要根据json生成javaBean的不明真相的吃瓜群众。 ^ _ ^
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。