原文地址 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);
Person person = new Person("1","fastjson",1); //序列化,这里将javabean转化成json字符串 String jsonString = JSON.toJSONString(person); //反序列化,这里将json字符串转化成javabean对象, person =JSON.parseObject(jsonString,Person.class);
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);
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>>(){});
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>>>(){});
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