net.sf.json.JSONObject实现Object对象与Json字符串的互转

        前面看了Jackson实现Object对象与Json字符串的互转,下面来看下net.sf.json.JSONObject实现Object对象与Json字符串的互转。

JSONUtil.java

package com.bijian.study;

import net.sf.json.JSONObject;

public class JSONUtil {

    public static void main(String[] args) {
        testJsonBean();
    }

    /**
     * java对象与json对象互相转换
     */
    private static void testJsonBean() {

        /**
         * 创建java对象
         */
        Student student = new Student();
        student.setId(1);
        student.setName("李四");
        student.setSex("man");
        student.setAge(25);
        student.setHobby(new String[] { "篮球", "上网", "跑步", "游戏" });
        
        /**
         * java对象转换成json对象,并获取json对象属性
         */
        JSONObject jsonStu = JSONObject.fromObject(student);
        System.out.println(jsonStu.toString());
        System.out.println(jsonStu.getJSONArray("hobby"));
        
        /**
         * json对象转换成java对象,并获取java对象属性
         */
        Student stu = (Student) JSONObject.toBean(jsonStu, Student.class);
        System.out.println(stu);
        
        /**
         * 创建json对象
         */
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("id", 1);
        jsonObj.put("name", "张勇");
        jsonObj.put("sex", "男");
        jsonObj.put("age", 24);
        jsonObj.put("hobby",new String[]{"上网","游戏","跑步","音乐"});
        System.out.println(jsonObj.toString());
        
        /**
         * json对象转换成java对象
         */
        Student stud = (Student) JSONObject.toBean(jsonObj, Student.class);
        System.out.println(stud);
    }
}

Student.java

package com.bijian.study;

import java.util.Arrays;

public class Student {

    private int id;
    private String name;
    private String sex;
    private int age;
    private String[] hobby;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String[] getHobby() {
        return hobby;
    }

    public void setHobby(String[] hobby) {
        this.hobby = hobby;
    }

    @Override
    public String toString() {
        return "Student [id=" + id + ", name=" + name + ", sex=" + sex + ", age=" + age + ", hobby="
                + Arrays.toString(hobby) + "]";
    }
}

        如运行时报java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher异常,请参考:java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher异常解决方法

猜你喜欢

转载自bijian1013.iteye.com/blog/2310861