FastJson解析实例--对象序列化和反序列化

前端之家收集整理的这篇文章主要介绍了FastJson解析实例--对象序列化和反序列化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

直接上源码...注释中有详解

  1. package com.company;
  2.  
  3. import com.alibaba.fastjson.JSON;
  4. import com.alibaba.fastjson.TypeReference;
  5.  
  6. import java.util.ArrayList;
  7. import java.util.HashMap;
  8. import java.util.List;
  9. import java.util.Map;
  10.  
  11. public class Main {
  12.  
  13. public static void main(String[] args) {
  14. //这里将javabean转化成json字符串
  15. Person person = new Person("1","fastjson",1);
  16. String jsonString = JSON.toJSONString(person);
  17. System.out.println("将javabean转化成json字符串:"+jsonString);
  18.  
  19. //这里将json字符串转化成javabean对象,Person personSec = new Person();
  20. personSec = JSON.parSEObject(jsonString,Person.class);
  21. System.out.println("将json字符串转化成javabean对象:"+personSec.getName());
  22.  
  23.  
  24. Person person1 = new Person("1","fastjson1",1);
  25. Person person2 = new Person("2","fastjson2",2);
  26. List<Person> persons = new ArrayList<Person>();
  27. persons.add(person1);
  28. persons.add(person2);
  29. String jsonStringSec = JSON.toJSONString(persons);//是json数组
  30. System.out.println("将List<JavaBean>转换成json字符串:"+jsonStringSec);
  31.  
  32. // List<Person> persons2 = JSON.parseArray(jsonStringSec,Person.class); ///这两种方法均可
  33. List<Person> persons2 = JSON.parSEObject(jsonStringSec,new TypeReference<List<Person>>(){});///这两种方法均可
  34. System.out.println("将json字符串转换成List<JavaBean>:"+persons2.get(1).getName());
  35.  
  36.  
  37. List<String> list = new ArrayList<String>();
  38. list.add("fastjson1");
  39. list.add("fastjson2");
  40. list.add("fastjson3");
  41. String jsonStringThird = JSON.toJSONString(list);//是json数组
  42. System.out.println("将list转换为json字符串:"+jsonStringThird);
  43.  
  44. List<String> list2 = JSON.parSEObject(jsonStringThird,new TypeReference<List<String>>(){});
  45. System.out.println("将json转换为List:"+list2.get(2));
  46.  
  47. Map<String,Object> map = new HashMap<String,Object>();
  48. map.put("key1","val1");
  49. map.put("key2","val2");
  50. Map<String,Object> map2 = new HashMap<String,Object>();
  51. map2.put("key1",1);
  52. map2.put("key2",2);
  53. List<Map<String,Object>> list3 = new ArrayList<Map<String,Object>>();
  54. list3.add(map);
  55. list3.add(map2);
  56. String jsonStringFourth = JSON.toJSONString(list3);
  57. System.out.println("将List<Map<String,Object>>对象转化成json字符串:"+jsonStringFourth);
  58. List<Map<String,Object>> list4 = JSON.parSEObject(jsonStringFourth,new TypeReference<List<Map<String,Object>>>(){});
  59. System.out.println("将json字符串转化成List<Map<String,Object>>对象"+list4.get(1).get("key1"));
  60.  
  61. }
  62.  
  63. }
以上共分为4种情况。
  1. package com.company;
  2.  
  3. /**
  4. * Created by liuyazhou on 2016/9/27.
  5. */
  6. public class Person {
  7.  
  8. private String id;
  9. private String name;
  10. private Integer num;
  11.  
  12. public Person() {
  13. }
  14.  
  15. public Person(String id,String name,Integer num) {
  16. this.id = id;
  17. this.name = name;
  18. this.num = num;
  19. }
  20.  
  21. public String getId() {
  22. return id;
  23. }
  24.  
  25. public void setId(String id) {
  26. this.id = id;
  27. }
  28.  
  29. public String getName() {
  30. return name;
  31. }
  32.  
  33. public void setName(String name) {
  34. this.name = name;
  35. }
  36.  
  37. public Integer getNum() {
  38. return num;
  39. }
  40.  
  41. public void setNum(Integer num) {
  42. this.num = num;
  43. }
  44. }
jar下载地址:https://github.com/alibaba/fastjson
  1. "C:\Program Files...
  2. 将javabean转化成json字符串:{"id":"1","name":"fastjson","num":1}
  3. 将json字符串转化成javabean对象:fastjson
  4. 将List<JavaBean>转换成json字符串:[{"id":"1","name":"fastjson1","num":1},{"id":"2","name":"fastjson2","num":2}]
  5. 将json字符串转换成List<JavaBean>:fastjson2
  6. 将list转换为json字符串:["fastjson1","fastjson3"]
  7. 将json转换为List:fastjson3
  8. 将List<Map<String,Object>>对象转化成json字符串:[{"key2":"val2","key1":"val1"},{"key2":2,"key1":1}]
  9. 将json字符串转化成List<Map<String,Object>>对象:1
  10.  
  11. Process finished with exit code 0

另外这是我个人开发的App,欢迎下载和好评,V1.5.0版本正在努力开发中......
http://www.wandoujia.com/apps/com.example.viewpager_3

猜你在找的Json相关文章