zoukankan      html  css  js  c++  java
  • JSONObject基本内容(一)

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

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

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

    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.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对象。

  • 相关阅读:
    《Java大学教程》—第12章 案例研究--第2部分
    《Java大学教程》—第11章 案例研究--第1部分
    《Java大学教程》—第10章 图形和事件驱动程序
    《Java大学教程》—第8章 通过继承扩展类
    《Java大学教程》—第7章 类的实现
    《Java大学教程》—第6章 类和对象
    《Java大学教程》—第5章 数组
    《Java大学教程》—第4章 方法的实现
    spring_01概念及案例
    MyEclipse中jsp编码设置
  • 原文地址:https://www.cnblogs.com/vmax-tam/p/4624811.html
Copyright © 2011-2022 走看看