亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

將對象解析為JSON數據和將JSON數據解析為對象的簡單實例

標簽:
Android

1.实例类Student.java

package demo06;

public class Student {

    private String name;

    private int age;

    private String gender;

    public Student(){}

public Student(String name, int age, String gender) {

super();

this.name = name;

this.age = age;

this.gender = gender;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getGender() {

return gender;

}

public void setGender(String gender) {

this.gender = gender;

}

@Override

public String toString() {

return "Student [name=" + name + ", age=" + age + ", gender=" + gender

+ "]";

}

    

}

2.测试类及实现类

package demo06;

import java.lang.reflect.Field;

import org.json.JSONObject;

public class Test01 {

public static void main(String[] args) {

            Student stu=new Student("zm",23,"男");

    String json=toJSON(stu);

    System.out.println(json);

    Student st=getObject1(json,Student.class);

    System.out.println(st);

}

/**

 * 将对象解析为json数据

 * @param obj

 * @return String

 */

public static String toJSON(Object obj){

 JSONObject json=new JSONObject();

 Class<?>cla=obj.getClass();

 Field field[]=cla.getDeclaredFields();

 for (Field f : field) {

       String name=f.getName();

       f.setAccessible(true);

       try {

Object val=f.get(obj);

json.put(name, val);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

      

 }

return json.toString();

}

/**

 * 将JSON数据解析为对象

 * @param json

 * @param t

 * @return

 */

public static <T>T getObject1(String json,Class<T> t){

T t1=null;

     try {

t1=t.newInstance();//获取实例时一定要加上默认的构造方法(**)

    Field field[]=t.getDeclaredFields();

    JSONObject js=new JSONObject(json);

    for (Field f : field) {

String name=f.getName();

Object val=js.get(name);

f.setAccessible(true);

f.set(t1, val);

}

     } catch (Exception e) {

e.printStackTrace();

     

return t1;

}

}

原文链接:http://www.apkbus.com/blog-813041-61013.html

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消