轻量级数据库json java_json4bean: 超轻量级Json4Bean工具包(小于30k),为Api接口联调而生,源码不依赖任何第三方jar包...

本文提供了一段Java代码示例,展示了如何将JSON字符串转换为Java Bean对象,包括简单的转换、指定包名的转换以及使用自定义模板生成Bean类的方法。同时,还演示了从Bean对象回溯到JSON字符串的过程。
摘要由CSDN通过智能技术生成

示例代码

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;

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 getSubjects() {

return this.subjects;

}

/**

* @param subjects subjects

*/

public void setSubjects(List subjects) {

this.subjects = subjects;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值