一:前言

  来公司一个星期,把最近做的东西梳理下,并把觉得有必要的知识点记载下,现在传数据很多都是用JSON来传数据,所以我就找了集中传json的方式,其实是有五种的,但是有一个我没有用过,太陌生了,上次也在网上看了看,估计可以照着用,但是要我讲的话我还是觉得挺有难度的。还有个也没有用过。我都会在下面提一下

二:内容

  我现在可以用的JSON有三种:

  (一):Google的JSON的jar包处理

  3中转换JSON数据的方式

  (二):阿里巴巴解析JSON的jar包

  3中转换JSON数据的方式

  (三):Struts2解析的jar包

  3中转换JSON数据的方式

  (四):jsonrpc,这个我看看了,主要是在网页里面进行,它可以你透明地在JavaScript中调用Java代码:具体可以看这篇文章

http://blog.csdn.net/yaerfeng/article/details/26079889

3中转换JSON数据的方式

  (五):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 }
View Code

相关文章: