FastJSON使用案例(fastjson-1.1.28.jar)
1 import java.util.List; 2 3 import com.alibaba.fastjson.JSON; 4 import com.alibaba.fastjson.TypeReference; 5 6 public class FastJSONHelper { 7 8 /** 9 * 将java类型的对象转换为JSON格式的字符串 10 * @param object java类型的对象 11 * @return JSON格式的字符串 12 */ 13 public static <T> String serialize(T object) { 14 return JSON.toJSONString(object); 15 } 16 17 /** 18 * 将JSON格式的字符串转换为java类型的对象或者java数组类型的对象,不包括java集合类型 19 * @param json JSON格式的字符串 20 * @param clz java类型或者java数组类型,不包括java集合类型 21 * @return java类型的对象或者java数组类型的对象,不包括java集合类型的对象 22 */ 23 public static <T> T deserialize(String json, Class<T> clz) { 24 return JSON.parseObject(json, clz); 25 } 26 27 /** 28 * 将JSON格式的字符串转换为List<T>类型的对象 29 * @param json JSON格式的字符串 30 * @param clz 指定泛型集合里面的T类型 31 * @return List<T>类型的对象 32 */ 33 public static <T> List<T> deserializeList(String json, Class<T> clz) { 34 return JSON.parseArray(json, clz); 35 } 36 37 /** 38 * 将JSON格式的字符串转换成任意Java类型的对象 39 * @param json JSON格式的字符串 40 * @param type 任意Java类型 41 * @return 任意Java类型的对象 42 */ 43 public static <T> T deserializeAny(String json, TypeReference<T> type) { 44 return JSON.parseObject(json, type); 45 } 46 47 }
1 public class Person { 2 private int Age; 3 private String Name; 4 public int getAge() { 5 return Age; 6 } 7 public void setAge(int age) { 8 Age = age; 9 } 10 public String getName() { 11 return Name; 12 } 13 public void setName(String name) { 14 Name = name; 15 } 16 }
1 public class Program1 { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 // TODO Auto-generated method stub 8 Person person = new Person(); 9 person.setAge(32); 10 person.setName("wangyunpeng"); 11 String json = FastJSONHelper.serialize(person); 12 System.out.println(json); 13 14 person = FastJSONHelper.deserialize(json, Person.class); 15 System.out.println(String.format("Name:%s,Age:%s",person.getName(),person.getAge())); 16 } 17 18 }
1 import java.util.ArrayList; 2 3 public class Program2 { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 11 ArrayList<Person> list = new ArrayList<Person>(); 12 Person person1 = new Person(); 13 person1.setAge(32); 14 person1.setName("wangyunpeng"); 15 list.add(person1); 16 Person person2 = new Person(); 17 person2.setAge(17); 18 person2.setName("shyx"); 19 list.add(person2); 20 String json = FastJSONHelper.serialize(list); 21 System.out.println(json); 22 23 Person[] persons = FastJSONHelper.deserialize(json, Person[].class); 24 for (Person person : persons) { 25 System.out.println(String.format("Name:%s,Age:%s", person.getName(),person.getAge())); 26 } 27 } 28 }
1 import java.util.ArrayList; 2 import java.util.List; 3 4 5 public class Program3 { 6 7 /** 8 * @param args 9 */ 10 public static void main(String[] args) { 11 // TODO Auto-generated method stub 12 ArrayList<Person> list = new ArrayList<Person>(); 13 Person person1 = new Person(); 14 person1.setAge(32); 15 person1.setName("wangyunpeng"); 16 list.add(person1); 17 Person person2 = new Person(); 18 person2.setAge(17); 19 person2.setName("shyx"); 20 list.add(person2); 21 String json = FastJSONHelper.serialize(list); 22 System.out.println(json); 23 24 List<Person> personList = FastJSONHelper.deserializeList(json, Person.class); 25 for (Person person : personList) { 26 System.out.println(String.format("Name:%s,Age:%s", person.getName(),person.getAge())); 27 } 28 } 29 30 }
1 import java.util.ArrayList; 2 import java.util.List; 3 4 public class Program4 { 5 6 /** 7 * @param args 8 */ 9 public static void main(String[] args) { 10 // TODO Auto-generated method stub 11 List<String> list = new ArrayList<String>(); 12 list.add("wyp"); 13 list.add("shyx"); 14 String json = FastJSONHelper.serialize(list); 15 System.out.println(json); 16 list = FastJSONHelper.deserializeList(json, String.class); 17 for (String string : list) { 18 System.out.println(string); 19 } 20 } 21 }
1 import java.util.ArrayList; 2 import java.util.HashMap; 3 import java.util.List; 4 import java.util.Map; 5 6 import com.alibaba.fastjson.JSONObject; 7 import com.alibaba.fastjson.TypeReference; 8 9 public class Program5 { 10 11 /** 12 * @param args 13 */ 14 public static void main(String[] args) { 15 // TODO Auto-generated method stub 16 HashMap<String, Object> map = new HashMap<String, Object>(); 17 map.put("key1", "value1"); 18 map.put("key2", "value2"); 19 20 HashMap<String, Object> map2 = new HashMap<String, Object>(); 21 map2.put("key1", 1); 22 map2.put("key2", 2); 23 24 HashMap<String, Object> map3 = new HashMap<String, Object>(); 25 Person person1 = new Person(); 26 person1.setAge(32); 27 person1.setName("wangyunpeng"); 28 map3.put("wyp", person1); 29 Person person2 = new Person(); 30 person2.setAge(17); 31 person2.setName("shenyunxiao"); 32 map3.put("shyx", person2); 33 34 List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>(); 35 list.add(map); 36 list.add(map2); 37 list.add(map3); 38 39 String json = FastJSONHelper.serialize(list); 40 System.out.println(json); 41 42 list = FastJSONHelper.deserializeAny(json, 43 new TypeReference<List<HashMap<String, Object>>>() { 44 }); 45 for (HashMap<String, Object> item : list) { 46 for (Map.Entry<String, Object> entry : item.entrySet()) { 47 String key = entry.getKey(); 48 Object value = entry.getValue(); 49 if (value instanceof JSONObject) { 50 JSONObject jObj = (JSONObject) value; 51 String json2 = FastJSONHelper.serialize(jObj); 52 Person other = FastJSONHelper.deserialize(json2, Person.class); 53 System.out.println(String.format( 54 "Key:%s,Value:[Name:%s,Age:%s]", key, 55 other.getName(), other.getAge())); 56 } else { 57 System.out.println(String.format("Key:%s,Value:%s", key, 58 value)); 59 } 60 } 61 } 62 63 } 64 65 }