zoukankan      html  css  js  c++  java
  • Java对象 json之间的转换(json-lib)

    在这里主要简单的介绍一下,如何使用json-lib这个工具包来完成Java对象(或集合)与json对象(或集合)之间的转换~

    1. Java对象转换成json(既创建json)

    关键类:JSONObject jsonObject = JSONObject.from(Object obj);

    使用说明:只要将Java对象传入方法,那么便可以得到一个JSONObject,然后你便可以直接json.toString();输出json~

    例子:

        @Test
        public void testCreateJson() throws Exception {
            Employee employee = new Employee("zhangSan", "12");
            JSONObject jsonObject = JSONObject.fromObject(employee);
            System.out.println(jsonObject.toString());
        }

    输出结果:

    {"age":"12","name":"zhangSan"} 

    由上面的输出结果可以看出,JSONObject输出的json对象的属性之间的顺序是无序的~

    2. 字符串转换成Java对象(既解析json)

    关键类:JSONObject json = new JSONObject(String jsonString);

        json.get(String key); //根据key来获取值。key对Java对象来说就是属性名,value就是属性值

    使用说明:首先将json字符串传入JSONObject对象的构造函数中,得到一个JSONObject对象,再通过该对象进行获取相应的数据,从而构造出一个Java对象。

    例子:

        @Test
        public void testParseJson(){
            String jsonString = "{"age":"12","name":"zhangSan"}";
            JSONObject json = new JSONObject().fromObject(jsonString);
            System.out.println(json.get("name"));
            System.out.println(json.get("age"));
        }

    输出结果:

    zhangSan
    12

    附录:Employee代码的具体实现

    public class Employee {
        private String name;
        private String age;
        public String getName() {
            return name;
        }
        public String getAge() {
            return age;
        }
        public void setName(String name) {
            this.name = name;
        }
        public void setAge(String age) {
            this.age = age;
        }
        public Employee(String name, String age) {
            super();
            this.name = name;
            this.age = age;
        }
        public Employee() {
            super();
        }
        @Override
        public String toString() {
            return "[name="+name+",age="+age+"]";
        }
    }

    延伸阅读:

    Java集合 Json集合之间的转换

  • 相关阅读:
    OCS边缘服务器部署(包含ISA设置)
    RMS部署文档
    推荐软件:PowerShell Plus
    OCS排错工具和最佳实践
    在Exchange Server 2007中使用多主机名称证书
    OCS边缘服务器部署
    推荐软件:Quset PowerGUI
    ISA 2008(FOREFRONT TMG)安装体验
    gridview 删除确认
    标识列 在任意编号位置插入数据
  • 原文地址:https://www.cnblogs.com/JamKong/p/4928973.html
Copyright © 2011-2022 走看看