首页 > 学院 > 开发设计 > 正文

JSONObject基本内容(一)

2019-11-15 00:46:14
字体:
来源:转载
供稿:网友
JSONObject基本内容(一)

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

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

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

commons-lang-1.0.4.jarcommons-collections-2.1.jarcommons-beanutils-1.8.0.jarjson-lib-2.4.jarezmorph-1.0.6.jarcommons-logging-1.1.jar

然后就可以开发啦~

一)javaBean转换为json

  (1)先写一个javaBean

  

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:

    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"}

看到这里,你可能会有疑问,是不是什么对象都能够转换为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对象。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表