JSONObject.parseObject(String str, Class clazz)

详细请看下面这个网址:

JSON.parseObject(String text, Class clazz)方法

JSON.parseObject(String text, Class clazz),作用就是将指定的JSON字符串转换成自己的实体类的对象。例如: 首先定义一个自己的实体类Test:

public class Test {
    private String name;
    private String age;
    private String addr;
    private String sex;

    public String getName() {
        return name;
    }

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

    public String getAge() {
        return age;
    }

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

    public String getAddr() {
        return addr;
    }

    public void setAddr(String addr) {
        this.addr = addr;
    }

    public String getSex() {
        return sex;
    }

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

    @Override
    public String toString() {
        return "Test{" +
                "name=" + name +  +
                ", age=" + age +  +
                ", addr=" + addr +  +
                ", sex=" + sex +  +
                };
    }

    public Test(String name, String age, String addr, String sex) {
        this.name = name;
        this.age = age;
        this.addr = addr;
        this.sex = sex;
    }
}

然后在jsonTest测试类中进行测试

import com.alibaba.fastjson.JSON;

public class jsonTest {
    public static void main(String[] args){
    //haha是Test类没有的
        String jsonString = "{name:hqz,age:18,sex:male,haha:sd}";
        /**
         * JSON字符串转化成自己的实体类对象 test
         */
        Test test = JSON.parseObject(jsonString, Test.class);
        System.out.println(test.toString());

        /**
         * 对象转化成JSON 字符串
         */
        String jsonStr = JSON.toJSONString(test);
        System.out.println(jsonStr);
    }
}

输出依次为:

test{name=hqz, age=18, addr=null, sex=male}
{"age":"18","name":"hqz","sex":"male"}

可以看到addr=’‘null’’,说明, ①:将JSON字符串转化成对象时,会去填充名称相同的属性,对于JSON字符串中没有,而Test类有的属性,会为null; ②:将对象转化成JSON字符串时,对于JSON字符串有,但是Test类没有的,不做任何处理。

以上。

经验分享 程序员 微信小程序 职场和发展