fastjson 使用

来源:互联网 发布:淘宝充话费怎么代理 编辑:程序博客网 时间:2024/05/19 17:10

原文地址 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字符串转换为listList<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




0 0
原创粉丝点击