JSONObject基本内容(一)

参考资料:http://swiftlet.net/archives/category/json,十分感谢~java

 

平时作项目,不免有遇到使用json对象的时候,这个东西不难,可是一不使用久了,就会忘记,因此把它的基本用法写一下。json

 

前提: 导入相关的jar文件:swift

commons-lang-1.0.4.jar 
commons-collections-2.1.jar 
commons-beanutils-1.8.0.jar 
json-lib-2.4.jar 
ezmorph-1.0.6.jar 
commons-logging-1.1.jarthis

 

而后就能够开发啦~spa

 

一)javaBean转换为json.net

  (1)先写一个javaBeancode

  

public class User  implements Serializable{
    private static final long serialVersionUID = 1L;
    
    private String username;
    private String 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;
    }    
}

而后就把这个javaBean转换为JSONObject:orm

    public static void main(String[] args) {
        //javaBean对象转换为json字符串
        User user = new User();
        user.setUsername("Rime");
        user.setPassword("1234");
        JSONObject json1 = JSONObject.fromObject(user);
        System.out.println(json1.toString());
        
        //map转换为json字符串
        HashMap<Object,Object> userMap = new HashMap<Object,Object>();
        userMap.put("username", "Rime");
        userMap.put("password", "1234");
        JSONObject json2 = JSONObject.fromObject(userMap);
        System.out.println(json2.toString());
    }

输出的内容以下:对象

{"password":"1234","username":"Rime"}
{"username":"Rime","password":"1234"}blog

 

看到这里,你可能会有疑问,是否是什么对象都可以转换为JSONObject呢?答案固然是:不。

JSONObject.fromObject(Object object)方法只对如下集中类型的对象有效:JSON formatted strings,Maps,DynaBeans and JavaBeans。

【注意】DynaBeans是commons-beanutils定义的动态bean。DynaBean并非Java中所定义的Bean,而是一种"假"的Bean。由于它并非经过getXXX和setXXX方法,对XXX属性进行取值和设值的。若是object是其余类型的参数呢?好比说数字,逻辑值,非json格式的字符串,那么将生产空的JSONObject对象。

相关文章
相关标签/搜索