Java_jackson_bean/map/list与json相互转换
1. 下载(免积分)
json_jackson_junit_demo.zip
2. 代码
package org.foo.bean;
public class Person {
private String name;
private String gender;
private String age;
// ----
@Override
public String toString() {
return "User{ name : \""+name+"\", gender : \""+gender+"\", age : \""+age+"\"}";
}
public Person() {
super();
}
public Person(String name, String gender, String age) {
this.name = name;
this.gender = gender;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
package org.foo.jackson;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.JavaType;
import org.foo.bean.Person;
import org.junit.Test;
public class JsonUtils {
private static ObjectMapper objectMapper = new ObjectMapper();
public static <T> String bean2Json(T bean) {
try {
return objectMapper.writeValueAsString(bean);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
public static String map2Json(Map map) {
try {
return objectMapper.writeValueAsString(map);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
public static String list2Json(List list) {
try {
return objectMapper.writeValueAsString(list);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
public static <T> T json2Bean(String json, Class<T> beanClass) {
try {
return objectMapper.readValue(json, beanClass);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static <T> List<T> json2List(String json, Class<T> beanClass) {
try {
return (List<T>)objectMapper.readValue(json, getCollectionType(List.class, beanClass));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static Map json2Map(String json) {
try {
return (Map)objectMapper.readValue(json, Map.class);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static JavaType getCollectionType(Class<?> collectionClass, Class<?>... elementClasses) {
return objectMapper.getTypeFactory().constructParametricType(collectionClass, elementClasses);
}
//-------------
@Test
public void testBean2Json() throws Exception{
Person person = new Person("张三_testBean2Json", "男", "22");
System.out.println( bean2Json(person) );
// => {"name":"张三_testBean2Json","gender":"男","age":"22"}
}
@Test
public void testMap2Json() throws Exception{
Map<String, String> userMap = new LinkedHashMap<String, String>();
userMap.put("name", "张三_testMap2Json");
userMap.put("gender", "男");
userMap.put("age", "22");
System.out.println( map2Json(userMap) );
// => {"name":"张三_testMap2Json","gender":"男","age":"22"}
}
@Test
public void testList2Json() throws Exception{
List<String> list = new ArrayList<String>();
list.add("张三_testList2Json");
list.add("男");
list.add("22");
System.out.println( list2Json(list) );
// => ["张三_testList2Json","男","22"]
List<Person> personList = new ArrayList<Person>();
personList.add( new Person("张1", "男1", "11") );
personList.add( new Person("张2", "男2", "22") );
System.out.println( list2Json(personList) );
// => [{"name":"张1","age":"11","gender":"男1"},{"name":"张2","age":"22","gender":"男2"}]
}
@Test
public void testJson2Bean() throws Exception{
Person person = new Person("张三_testJson2Bean", "男", "22");
String json = bean2Json(person);
System.out.println( json2Bean(json, Person.class) );
// => User{ name : "张三_testJson2Bean", gender : "男", age : "22"}
json = "{\"name\":\"wahh\"}";
System.out.println( json2Bean(json, Person.class) );
}
@Test
public void testJson2List() throws Exception{
Person person1 = new Person("张三1", "男1", "11");
Person person2 = new Person("张三2", "男2", "22");
List<Person> personList = new ArrayList<Person>();
personList.add(person1);
personList.add(person2);
System.out.println( json2List( list2Json(personList) , Person.class) );
// => [User{ name : "张三1", gender : "男1", age : "11"}, User{ name : "张三2", gender : "男2", age : "22"}]
}
@Test
public void testJson2Map() throws Exception{
Person person = new Person("张三", "男", "22");
String json = bean2Json(person);
Map map = json2Map(json);
System.out.println( map );
// => {name=张三, gender=男, age=22}
}
}
还没有评论,来说两句吧...