Java与JSON之间相互转换-1

来源:互联网 发布:知乎校园招聘2017 编辑:程序博客网 时间:2024/05/19 19:34

添加 jar 包支持:fastjson-1.2.41.jar
可以从 http://www.mvnrepository.com/ 下载。
编写工具类

import java.util.List;import com.alibaba.fastjson.JSON;public class JsonUtils {    public static <T> T toObject(String data, Class<T> clazz) {        return JSON.parseObject(data, clazz);    }    public static String toJson(Object object) {        return JSON.toJSONString(object);    }    public static <T> List<T> toList(String data, Class<T> clazz) {        return JSON.parseArray(data, clazz);    }}

编写JavaBean对象

public class Person {    private String name;    private String age;    private String address;    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 getAddress() {        return address;    }    public void setAddress(String address) {        this.address = address;    }    @Override    public String toString() {        return "Person [name=" + name + ", age=" + age + ", address="                + address + "]";    }}

测试代码

  • Object 转 JSON
@Testpublic void testObjectToJson() {    Person p = new Person();    p.setName("张三");    p.setAge("18");    p.setAddress("郑州");    String result = JsonUtils.toJson(p);    System.out.println(result);}

运行结果:

{"address":"郑州","age":"18","name":"张三"}
  • JSON 转 Object
@Testpublic void testJsonToObject() {    String data = "{\"address\":\"郑州\",\"age\":\"18\",\"name\":\"张三\"}";    Person p = JsonUtils.toObject(data, Person.class);    System.out.println(p);}

运行结果:

Person [name=张三, age=18, address=郑州]
  • List集合 转 JSON
@Testpublic void testListToJson() {    Person p1 = new Person();    p1.setName("张三");    p1.setAge("18");    p1.setAddress("郑州");    Person p2 = new Person();    p2.setName("李四");    p2.setAge("20");    p2.setAddress("北京");    List<Person> list = new ArrayList<Person>();    list.add(p1);    list.add(p2);    String result = JsonUtils.toJson(list);    System.out.println(result);}

运行结果:

[{"address":"郑州","age":"18","name":"张三"},{"address":"北京","age":"20","name":"李四"}]
  • JSON 转 List集合
@Testpublic void testListToJson() {    String data = "[{\"address\":\"郑州\",\"age\":\"18\",\"name\":\"张三\"},{\"address\":\"北京\",\"age\":\"20\",\"name\":\"李四\"}]";    List<Person> list = JsonUtils.toList(data, Person.class);    for (Person person : list) {        System.out.println(person);    }}

运行结果:

Person [name=张三, age=18, address=郑州]Person [name=李四, age=20, address=北京]
原创粉丝点击