zoukankan      html  css  js  c++  java
  • 这是关于FastJson的一个使用Demo,在Java环境下验证的

     1 public class User {
     2     private int id;  
     3     private String name;  
     4     public int getId() {  
     5         return id;  
     6     }  
     7     public void setId(int id) {  
     8         this.id = id;  
     9     }  
    10     public String getName() {  
    11         return name;  
    12     }  
    13     public void setName(String name) {  
    14         this.name = name;  
    15     }  
    16 }
     1 public class Weibo {
     2      private String id;  
     3         private String city;  
     4       
     5         public Weibo(String id, String city) {  
     6             this.id = id;  
     7             this.city = city;  
     8         }  
     9       
    10         public Weibo() {  
    11         }  
    12       
    13         public String getId() {  
    14             return id;  
    15         }  
    16       
    17         public void setId(String id) {  
    18             this.id = id;  
    19         }  
    20       
    21         public String getCity() {  
    22             return city;  
    23         }  
    24       
    25         public void setCity(String city) {  
    26             this.city = city;  
    27         }  
    28 }
     1 import java.util.ArrayList;
     2 import java.util.List;
     3 
     4 public class Group {
     5     private int id;  
     6     private String name;  
     7     private List<User> list = new ArrayList<User>();  
     8     public int getId() {  
     9         return id;  
    10     }  
    11     public void setId(int id) {  
    12         this.id = id;  
    13     }  
    14     public String getName() {  
    15         return name;  
    16     }  
    17     public void setName(String name) {  
    18         this.name = name;  
    19     }  
    20     public List<User> getList() {  
    21         return list;  
    22     }  
    23     public void setList(List<User> list) {  
    24         this.list = list;  
    25     }  
    26 }
      1 import java.util.HashMap;  
      2 import java.util.List;  
      3 import java.util.Map;  
      4 //fastjson-1.2.8.jar  
      5 import com.alibaba.fastjson.JSON;  
      6 import com.alibaba.fastjson.JSONArray;  
      7 import com.alibaba.fastjson.JSONObject;  
      8   
      9 //下面是FastJson的简介:常用的方法!  
     10 //  Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。  
     11 //  public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray   
     12 //  public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject      
     13 //  public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean   
     14 //  public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray   
     15 //  public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合   
     16 //  public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本   
     17 //  public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本   
     18 //  public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray(和上面方法的区别是返回值是不一样的)  
     19   
     20 /** 
     21  * 这是关于FastJson的一个使用Demo,在Java环境下验证的; 
     22  * 使用的时候可以参照这个例子进行回忆! 
     23  * 备注:下面写的Json格式的数据"前面的,意思是告诉编译器忽略掉它后面的"。 
     24  * 后面定义有三个类:User、Group、Weibo 
     25  * @author liuzhao 
     26  */  
     27 public class JsonDemo {  
     28   
     29     public static void main(String[] args) {  
     30           
     31         json2JsonObjectM1();//将Json文本数据信息转换为JsonObject对象,然后利用键值对的方式获取信息  
     32         json2BeanM2();//将Json文本数据转换为JavaBean数据!  
     33         json2JSONArrayM3();//将json数据转化为JSONArray:   
     34         json2JavaBeanM4();//将JSON文本转换为JavaBean的集合;转换为单纯的1个Object:parseObject(String text, Class<T> clazz);   
     35         bean2JsonM5();//将JavaBean转换为Json格式的数据/Json文本 用户数据的传递:例如上传服务器  
     36         bean2JSONObjectM6();//将JavaBean转换为JSON对象  
     37         complexExampleM7();//一个相对复杂的例子:  
     38         complex2JsonM8();//一个复杂的Object到Json的Demo  
     39         complexMap2JsonM9();//将Map数据转换为JsonString的Demo;这个对RedBoy服务端不就直接破了嘛!  
     40     }  
     41   
     42     /** 
     43      * 将Json文本数据信息转换为JsonObject对象,然后利用键值对的方式获取信息 
     44      */  
     45     private static void json2JsonObjectM1() {  
     46         //一个JsonObject文本数据  
     47         String s = "{"name":"liuzhao"}";  
     48         //将JsonObject数据转换为Json  
     49         JSONObject object = JSON.parseObject(s);  
     50         //利用键值对的方式获取到值  
     51         System.out.println("M1-"+object.get("name"));  
     52         /** 
     53          * 打印: 
     54          * liuzhao 
     55          */  
     56     }  
     57       
     58     /** 
     59      * 将Json文本数据转换为JavaBean数据! 
     60      * 需要注意的是:这时候的Json文本信息中的键的名称必须和JavaBean中的字段名称一样!键中没有的在这个JavaBean中就显示为null! 
     61      */  
     62     private static void json2BeanM2() {  
     63         String s = "{"id":"0375","city":"平顶山"}";  
     64         //一个简单方便 的方法将Json文本信息转换为JsonObject对象的同时转换为JavaBean对象!  
     65         Weibo weibo = JSON.parseObject(s, Weibo.class);//Weibo类在下边定义  
     66         System.out.println("M2-"+weibo.getId());  
     67         System.out.println("M2-"+weibo.getCity());  
     68         //打印的结果     0375  
     69         //              平顶山  
     70     }  
     71   
     72   
     73     /** 
     74      * 将Map类型的数据转换为JsonString 
     75      */  
     76     private static void complexMap2JsonM9() {  
     77         Group group = new Group();  
     78         group.setId(1);  
     79         group.setName("group");  
     80           
     81         User user1 = new User();  
     82         user1.setId(2);  
     83         user1.setName("user1");  
     84   
     85         User user2 = new User();  
     86         user2.setId(3);  
     87         user2.setName("user2");  
     88         group.getList().add(user1);  
     89         group.getList().add(user2);  
     90           
     91         Map<Integer, Object> map = new HashMap<Integer,Object>();  
     92         map.put(1, "No.1");  
     93         map.put(2, "No.2");  
     94         map.put(3, group.getList());  
     95           
     96         String jsonString = JSON.toJSONString(map);  
     97         System.out.println("M9-"+jsonString);  
     98         /** 
     99          *  输出:{1:"No.1",2:"No.2",3:[{"id":2,"name":"user1"},{"id":3,"name":"user2"}]} 
    100          */  
    101     }  
    102   
    103     /** 
    104      * 由一个复杂的Object到Json的Demo 
    105      */  
    106     private static void complex2JsonM8() {  
    107         Group group = new Group();  
    108         group.setId(1);  
    109         group.setName("group");  
    110           
    111         User user1 = new User();  
    112         user1.setId(2);  
    113         user1.setName("user1");  
    114   
    115         User user2 = new User();  
    116         user2.setId(3);  
    117         user2.setName("user2");  
    118         group.getList().add(user1);  
    119         group.getList().add(user2);  
    120         String jsonString = JSON.toJSONString(group);  
    121         System.out.println("M8-"+jsonString);  
    122         /** 
    123          *  输出:{"id":1,"list":[{"id":2,"name":"user1"},{"id":3,"name":"user2"}],"name":"group"} 
    124          */  
    125     }  
    126   
    127     /** 
    128      * 一个相对复杂的例子: 
    129      * JSON文本数据: 
    130      *      首先是JSONObject,转换为JSONArray; 
    131      *      然后将JSONArray转换为JavaBean 
    132      */  
    133     private static void complexExampleM7() {  
    134         String s = "{js:[{id:"110000","city":"北#001京市"},{id:"110000","city":"北#002京市"}"  
    135                 + ",{id:"110000","city":"北#002京市"},{id:"110000","city":"北#002京市"},"  
    136                 + "{id:"110000","city":"#006北#005京市"},"  
    137                 + "{id:"110000","city":"北#002京市"},"  
    138                 + "{id:"110000","city":"北#002京市"},{id:"120000","city":"天#009津市"}]}";  
    139           
    140         JSONObject object = JSON.parseObject(s);  
    141         Object jsonArray = object.get("js");  
    142         System.out.println("M7-"+jsonArray);  
    143         List<Weibo> list = JSON.parseArray(jsonArray+"", Weibo.class);  
    144         for (Weibo weibo : list) {  
    145             System.out.println("M7-"+weibo.getCity());  
    146         }  
    147     }  
    148   
    149     /** 
    150      * 将JavaBean转换为JSON对象 
    151      */  
    152     private static void bean2JSONObjectM6() {  
    153         Weibo weibo = new Weibo("0373", "洛阳");  
    154         JSONObject json = (JSONObject) JSON.toJSON(weibo);  
    155         System.out.println("M6-"+json.get("id"));  
    156         /** 
    157          * 打印: 
    158          * 0373 
    159          */  
    160     }  
    161   
    162     /** 
    163      * 将JSON文本转换为JavaBean的集合; 
    164      * 内部实现肯定是:首先转换为JSONArray,然后再转换为List集合 
    165      */  
    166     private static void json2JavaBeanM4() {  
    167         String s = "[{"id":"0375","city":"平顶山"},{"id":"0377","city":"南阳"}]";  
    168         List<Weibo> list = JSON.parseArray(s, Weibo.class);  
    169         for (Weibo weibo : list) {  
    170             System.out.println("M4-"+weibo.getCity());  
    171         }  
    172         /** 
    173          * 打印: 
    174          * 平顶山 
    175          * 南阳 
    176          */  
    177     }  
    178   
    179     /** 
    180      * 将json数据转化为JSONArray: 
    181      * 注意:获取到JSONArray之后(我们这里只是获取到JSONArray而不是JavaBean的List集合) 
    182      * 获取JSONArray中的数据转换为String类型需要在外边加""; 
    183      */  
    184     private static void json2JSONArrayM3() {  
    185         String s = "[{"id":"0375","city":"平顶山"},{"id":"0377","city":"南阳"}]";  
    186         //将JSON文本转换为JSONArray  
    187         JSONArray array = JSON.parseArray(s);  
    188         //这行必须写:必须加上+"";不然会报出类型强转异常!  
    189         String str = array.get(1)+"";  
    190         System.out.println("M3-"+array.get(0));  
    191         JSONObject object = JSON.parseObject(str);  
    192         System.out.println("M3-"+object.get("id"));  
    193         /** 
    194          * {"city":"平顶山","id":"0375"} 
    195             0377 
    196          */  
    197     }  
    198   
    199   
    200     /** 
    201      * 将JavaBean转换为Json格式的数据/Json文本 
    202      * 用户数据的传递:例如上传服务器 
    203      */  
    204     private static void bean2JsonM5() {  
    205         Weibo weibo = new Weibo("123456", "上海");  
    206         String string = JSON.toJSONString(weibo);  
    207         System.out.println("M5-"+string);  
    208         /** 
    209          * 打印: 
    210          * {"city":"上海","id":"123456"} 
    211          */  
    212     }  
    213   
    214 }  
  • 相关阅读:
    由ping百度引发的思考
    操作系统 | 概述
    操作系统导论第四章 | 抽象:进程
    汇编语言 | 定制键盘输入的处理过程
    细数 TS 中那些奇怪的符号
    vue 各种 import 引入
    display:table-cell实现水平垂直居中
    Jquery判断单选框是否选中和获取选中的值
    css整理 -- 右箭头,上下箭头,三角形、超出省略号代替
    JQuery操作select下拉框
  • 原文地址:https://www.cnblogs.com/pianai-shu/p/6349220.html
Copyright © 2011-2022 走看看