`
cpu
  • 浏览: 165041 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Json To Bean

阅读更多

Bean To Json 很简单,很多人都已经介绍过了。就不再重写了。

Json To Bean 有点难度,和大家分享一下。

 

有两点要注意力

1.转换的主要函数说明

   JSONObject.toBean(Object, Bean.class, Map);

     参数说明:

         Object: 你得到的JSONObject 对象

         Bean.class: 要转换成的Bean的类型

         Map: Bean的成员类型

2.Bean的无参构造函数一定要写,否则会报: net.sf.json.JSONException: java.lang.NoSuchMethodException: 这个错误

 

 

public void json2bean () {
        String json = "{\"password\":\"1234\",\"userName\":\"zhang\"}";

        JSONObject o = JSONObject.fromObject(json);
       
        Map<String, Class> m = new HashMap<String, Class>();
        m.put("userName", String.class);       
        m.put("password", String.class);
       
        JSONTestBean b=  (JSONTestBean) JSONObject.toBean(o, JSONTestBean.class, m);

        System.out.println("Password: " + b.getPassword());
       
    }

 

用到的Bean
public class JSONTestBean {
    private String userName;
    private String password;
   
    public JSONTestBean(){};
   
    public JSONTestBean(String userName, String password) {
        this.userName = userName;
        this.password = password;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }   
}

 

4
3
分享到:
评论
1 楼 vae_in_zdsoft 2009-07-15  
Map: Bean的成员类型
关于这点,如果Bean的成员变量也是一个类对象,这个类对象中的数据类型是特殊的,比如说Date类型,也是要在Map中进行map.put(成员变量名,Date.class)?

相关推荐

Global site tag (gtag.js) - Google Analytics