一:前言
来公司一个星期,把最近做的东西梳理下,并把觉得有必要的知识点记载下,现在传数据很多都是用JSON来传数据,所以我就找了集中传json的方式,其实是有五种的,但是有一个我没有用过,太陌生了,上次也在网上看了看,估计可以照着用,但是要我讲的话我还是觉得挺有难度的。还有个也没有用过。我都会在下面提一下
二:内容
我现在可以用的JSON有三种:
(一):Google的JSON的jar包处理
(二):阿里巴巴解析JSON的jar包
(三):Struts2解析的jar包
(四):jsonrpc,这个我看看了,主要是在网页里面进行,它可以你透明地在JavaScript中调用Java代码:具体可以看这篇文章
http://blog.csdn.net/yaerfeng/article/details/26079889
(五):json-simple.jar的jar包,其实我不会用,只是知道有这种jar包,没有用过,刚刚看到的。
二:内容
(一):google的Json解析方式
1 package org.wh.JsonDemo; 2 3 import java.util.ArrayList; 4 import java.util.Date; 5 import java.util.HashMap; 6 import java.util.List; 7 import java.util.Map; 8 9 import com.google.gson.Gson; 10 import com.google.gson.reflect.TypeToken; 11 12 public class GJsonTest { 13 14 public static void main(String[] args) { 15 Student s1=new Student(1,"mahone","男",23,"湖北随州",new Date(),new java.sql.Date(0)); 16 Student s2=new Student(2,"mouse","男",23,"湖北随州",new Date(),new java.sql.Date(0)); 17 Student s3=new Student(3,"moon","女",23,"湖北随州",new Date(),new java.sql.Date(0)); 18 Student s4=new Student(4,"mahone1","男",23,"湖北随州",new Date(),new java.sql.Date(0)); 19 Student s5=new Student(5,"mahone2","男",23,"湖北随州",new Date(),new java.sql.Date(0)); 20 21 List<Student> list=new ArrayList<Student>(); 22 list.add(s1); 23 list.add(s2); 24 list.add(s3); 25 list.add(s4); 26 list.add(s5); 27 28 Map<String,String> map=new HashMap<String,String>(); 29 map.put("a", "aa"); 30 map.put("b", "bb"); 31 map.put("c", "cc"); 32 map.put("d", "dd"); 33 map.put("e", "ee"); 34 35 36 //--------------------google 的json----------------------------------------------------------------- 37 System.out.println(list); 38 Gson g=new Gson(); 39 String exInfo1=g.toJson(s1); 40 System.out.println("Google转化为的单个对象:-->"+exInfo1); 41 42 String exList=g.toJson(list); 43 System.out.println("Google的List转化的json:-->"+exList); 44 45 String exMap=g.toJson(map); 46 System.out.println("Google的map的转换---->"+exMap); 47 48 49 //把json转换为List 50 Student st=g.fromJson("{\"id\":1,\"name\":\"mahone\",\"sex\":\"男\",\"age\":23,\"birthday\":\"Dec 18, 2014 3:59:45 PM\",\"address\":\"湖北随州\",\"senior\":\"一月 1, 1970\"}", Student.class); 51 System.out.println("-->"+st); 52 List<Student> list1=g.fromJson("[{\"id\":1,\"name\":\"mahone\",\"sex\":\"男\",\"age\":23,\"birthday\":\"Dec 18, 2014 3:59:45 PM\",\"address\":\"湖北随州\",\"senior\":\"一月 1, 1970\"},{\"id\":2,\"name\":\"mahone\",\"sex\":\"男\",\"age\":23,\"birthday\":\"Dec 18, 2014 3:59:45 PM\",\"address\":\"湖北随州\",\"senior\":\"一月 1, 1970\"}]",new TypeToken<List<Student>>(){}.getType()); 53 List<Student> list2=g.fromJson(exList,new TypeToken<List<Student>>(){}.getType()); 54 for(Student ss:list1){ 55 System.out.println("id:"+ss.getId()); 56 } 57 58 for(Student ss:list2){ 59 System.out.println("id:"+ss.getId()); 60 } 61 62 //把json转化为Map 63 Map<String,String> m=g.fromJson(exMap,new TypeToken<Map<String,String>>(){}.getType()); 64 for(String ms:map.keySet()){ 65 //key---->value 66 System.out.println(ms+"--->"+map.get(ms)); 67 } 68 //http://blog.csdn.net/lk_blog/article/details/7685210链接上有更加详细的解析,我这里只是日常用的 69 } 70 71 }