实体类:
package test;
public class User {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
}
转还:
package test;
import java.io.IOException;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import net.sf.json.JSONObject;
public class JSON与Object对象互相转换 {
public static void main(String[] args) {
/**
* 使用gson要引入的jar
* gson-2.2.4.jar
*
* gson的使用,对象转json
*/
User user=new User();
user.setName("zs");
user.setAge(20);
Gson gson=new Gson();
String str=gson.toJson(user);
System.out.println("gson-->"+str);
/**
* gson的使用,json转对象
*/
Gson gson1=new Gson();
User user1=gson.fromJson("{\"name\":\"zs1\",\"age\":21}", User.class);
System.out.println(user1);
/**
* 使用fastjson要引入的jar
* fastjson-1.2.36.jar
*
* fastJson的使用,对象转json
*/
User user2=new User();
user2.setName("zs2");
user2.setAge(22);
String str1 = JSON.toJSONString(user2);
System.out.println("fastJson-->"+str1);
/**
* fastJson的使用,json转对象
*/
User user3 = JSON.parseObject("{\"age\":22,\"name\":\"zs3\"}", User.class);
System.out.println(user3);
/**
* 使用Jackson必须要引入的jar,
* jackson-annotations-2.0.0.jar,
* jackson-core-2.0.0.jar,
* jackson-databind-2.0.0.jar
*
* jackson的使用,对象转json
*/
User user4=new User();
user4.setName("zs4");
user4.setAge(24);
ObjectMapper mapper = new ObjectMapper();
try {
String str2=mapper.writeValueAsString(user4);
System.out.println("jackson-->"+str2);
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
/**
* jackson的使用,json转对象
*/
try {
User user5=mapper.readValue("{\"name\":\"zs4\",\"age\":24}",User.class);
System.out.println(user5);
} catch (IOException e) {
e.printStackTrace();
}
/**
* 使用jsonlib要引入的jar
* json-lib-2.4-jdk15.jar
* commons-beanutils-1.8.0.jar
* commons-collections-3.2.1.jar
* commons-lang-2.5.jar
* commons-logging-1.1.1.jar
* ezmorph-1.0.6.jar
*
* jsonlib的使用,对象转json
*/
User user5=new User();
user5.setName("zs5");
user5.setAge(25);
JSONObject js=JSONObject.fromObject(user5);
String str3=js.toString();
System.out.println("json-lib-->"+str3);
/**
* json-lib的使用,json转对象
*/
JSONObject js1=JSONObject.fromObject("{\"age\":26,\"name\":\"zs6\"}");
User user6 = (User) JSONObject.toBean(js1, User.class);
System.out.println(user6);
}
}