Java模拟GSON
2016-08-11 19:13
316 查看
package com.gson; import java.lang.reflect.Field; import com.bean.Student; /** * * @author GSON的原理 */ public class MyGson { public String toJson(Object object) throws IllegalArgumentException, IllegalAccessException { StringBuffer sb = new StringBuffer(); sb.append("{"); //《1》获取字节码 Class clazz = object.getClass(); //《2》获取属性对象 Field[] fields = clazz.getDeclaredFields(); for (int i = 0; i < fields.length; i++) { Field field = fields[i]; field.setAccessible(true); //《3》获取属性名 String fieldName = field.getName(); System.out.println(fieldName); //《4》获取属性值 String fieldValue = (String) field.get(object); System.out.println(fieldValue); sb.append("\"" + fieldName + "\":\"" + fieldValue + "\""); if (i != fields.length - 1) sb.append(","); } sb.append("}"); return sb.toString(); } public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException { MyGson myGson = new MyGson(); System.out.println(myGson.toJson(new Student("john", "hahahhah"))); } }
Student.java
package com.bean;
public class Student {
private String name;
private String sign;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSign() {
return sign;
}
public void setSign(String sign) {
this.sign = sign;
}
public Student(String name, String sign) {
super();
this.name = name;
this.sign = sign;
}
}
相关文章推荐
- JAVA模拟键盘按键测试类
- 在Java中如何模拟多继承
- Java中模拟鼠标和键盘输入
- Java编写的模拟ATM取款机程序
- Java模拟桌球打击处理及绘制
- 使用java简单模拟ping和telnet的实现
- Java中模拟鼠标和键盘输入
- 用C++模拟Java的事件机制
- Java编写的模拟ATM取款机程序
- 进程调度和内存分配模拟(java)
- 通过Win API 模拟鼠标点击,使C# Java交互 (PART.1 C#部分)
- Java模拟网站登录
- java 模拟 POST表单操作 HTTPCLIENT的应用 及注意事项
- Java中模拟C中的标准输入
- 基于Java多线程机制的生产者-消费者模型模拟
- Java程序员认证模拟题及详细分析(转)
- JAVA-用HttpClient来模拟浏览器GET,POST
- JAVA程序员模拟考试题tk310-035V12.0(部分)中文翻译和解题分析
- Java 模拟文件管理系统(仿DOS环境)
- Java模拟桌球打击处理及绘制