fastjson 使用

原文地址 http://jingyan.baidu.com/article/c74d6000672e450f6b595d53.html

阿里的fastjson包对对象进行 json的转化与解析。测试了下效率比net.sf.json和spring mvc自带的转换效率高得多!

常用类型

类型一:JavaBean

类型二:List<JavaBean>

类型三:List<String>

类型四:List<Map<String,Object>>

将上面的四种数据对象转换成json字符串的方法都是一样的

String jsonString = JSON.toJSONString(obj);

1.)将json字符串转化成JavaBean对象

Person person = new Person("1","fastjson",1);
//序列化,这里将javabean转化成json字符串
String jsonString = JSON.toJSONString(person);
//反序列化,这里将json字符串转化成javabean对象,
person =JSON.parseObject(jsonString,Person.class);

2.)将json字符串转化成List<JavaBean>对象

Person person1 = new Person("1","fastjson1",1);
Person person2 = new Person("2","fastjson2",2);
List<Person> persons = new ArrayList<Person>();
persons.add(person1);
persons.add(person2);
//序列化,转换为json字符串
String jsonString = JSON.toJSONString(persons);
System.out.println("json字符串:"+jsonString);
//反序列化,将json字符串转换为list
List<Person> persons2 = JSON.parseArray(jsonString,Person.class);

3.)将json字符串转化成List<String>对象

List<String> list = new ArrayList<String>();
list.add("fastjson1");
list.add("fastjson2");
list.add("fastjson3");
String jsonString = JSON.toJSONString(list);
System.out.println("json字符串:"+jsonString);
//反序列化
List<String> list2 = JSON.parseObject(jsonString,new TypeReference<List<String>>(){}); 


4.)将json字符串转化成List<Map<String,Object>>对象

Map<String,Object> map = new HashMap<String,Object>();
map.put("key1", "value1");
map.put("key2", "value2");
Map<String,Object> map2 = new HashMap<String,Object>();
map2.put("key1", 1);
map2.put("key2", 2);
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
list.add(map);
list.add(map2);
String jsonString = JSON.toJSONString(list);
System.out.println("json字符串:"+jsonString);
//反序列化
List<Map<String,Object>> list2 = JSON.parseObject(jsonString,new TypeReference<List<Map<String,Object>>>(){});

5.)日期格式化

 Date date=new Date();   
  //输出毫秒值 
  System.out.println(JSON.toJSONString(date)); 
  //默认格式为yyyy-MM-dd HH:mm:ss   
  System.out.println(JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat)); 
  //根据自定义格式输出日期,这个格式不能反序列化
  System.out.println(JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd", SerializerFeature.WriteDateUseDateFormat)); 

为了大家学习使用的方便,将测试java项目打包上传到了百度网盘,下载地址

pan.baidu.com/s/1jGskEb0




你可能感兴趣的:(java,json,map,javabean,阿里)