您的位置:首页 > 编程语言 > Java开发

Java与JSON之间相互转换-1

2017-11-29 11:13 351 查看
添加 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

@Test
public 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

@Test
public 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

@Test
public 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集合

@Test
public 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=北京]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: