fastjson 使用 string字符串转换成java的各种类型

来源:互联网 发布:python写入excel 编辑:程序博客网 时间:2024/06/12 21:18

fastjson 是一种转json最快的一种json工具,非常好用。。希望对你帮助!
对新手来说:
解析json遇见难题是,最好把json打印出来看看  是否json格式


  1.          转换成对象    一  
  2.         String jsonstring = "{\"a\":00,\"b\":10}";      
  3.         User u1 = JSON.parseObject(jsonstring, new TypeReference<User >(){});  
  4.    转换成对象    二  
  5.         User user = JSON.parseObject(jsonstring,User .class);    
  6.         转换成对象数组       
  7.         String jsonstring2 = "[{\"a\":00,\"b\":10}]";      
  8.         User[] user = JSON.parseObject(jsonstring2, new TypeReference<User[]>(){});   
  9.         List list = Arrays.asList(usa2);   
  10.         转换成ArrayList  
  11.         ArrayList<User> list2 = JSON.parseObject(jsonstring2, new TypeReference<ArrayList<User>>(){});   
  12.           
  13.          转换成ArrayList(默认)    list3  与 list4  效果相同  
  14.         ArrayList<JSONObject> list3 = JSON.parseObject(jsonstring2, new ArrayList<User>().getClass());   
  15.         ArrayList<JSONObject> list4 = JSON.parseObject(jsonstring2, ArrayList.class); 
  16.         for (int i = 0; i < list4.size(); i++) { //  推荐用这个  
  17.             JSONObject io = list4.get(i);  
  18.             System.out.println(io.get("a") + "======adn====="+io.get("b"));  
  19.         }  
  20.     }      
  21. }      
  22. class Usa {  
  23.     private int count = 1888;  
  24.     private String base = "project";  
  25.     private Long a;      
  26.     public Long getA() {      
  27.         return a;      
  28.     }      
  29.     public void setA(Long a) {      
  30.         this.a = a;      
  31.     }      
  32.     private String b;      
  33.     public String getB() {      
  34.         return b;      
  35.     }      
  36.     public void setB(String b) {      
  37.         this.b = b;      
  38.     }      
  39. }      
  40.   

json字符串 直接转换成List

ArrayList<User> user= JSON.parseObject(jsonstring2, new TypeReference<ArrayList<User>>(){});  

 或者转换对象数组

   User[] user= JSON.parseObject(jsonstring2, new TypeReference<User[]>(){});  

  对象数组转List  

   List list = Arrays.asList(usa2);    

我们使用new TypeReference的时候会生成多个class文件 里面有多少个new TypeReference 就会新增了class

即使我们在for循环里(0-N)写new TypeReference 这段代码也是多生成一个class文件,fastjson是看我们写了多少new TypeReference,而不是调用了多少次new TypeReference。推荐用ArrayList.class 

原创粉丝点击