zoukankan      html  css  js  c++  java
  • fastjson使用示例

    一、fastjson

      一款Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
    速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
    功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省。

    二、api 接口demo

    ①、复杂的Object 转为 json

    JSON.toJSONString(Object o)

     1 public class ContentData {
     2 
     3     private List<ContentRes> contents;
     4 
     5     public List<ContentRes> getContents() {
     6         return contents;
     7     }
     8 
     9     public void setContents(List<ContentRes> contents) {
    10         this.contents = contents;
    11     }
    12 
    13 }
    View Code
     1 public class ContentRes {
     2 
     3     private boolean success;
     4 
     5     private String msg;
     6 
     7     private Long tatal;
     8 
     9     private List<ContentDO> data;
    10 
    11     public boolean isSuccess() {
    12         return success;
    13     }
    14 
    15     public String getMsg() {
    16         return msg;
    17     }
    18 
    19     public Long getTatal() {
    20         return tatal;
    21     }
    22 
    23     public List<ContentDO> getData() {
    24         return data;
    25     }
    26 
    27     public void setSuccess(boolean success) {
    28         this.success = success;
    29     }
    30 
    31     public void setMsg(String msg) {
    32         this.msg = msg;
    33     }
    34 
    35     public void setTatal(Long tatal) {
    36         this.tatal = tatal;
    37     }
    38 
    39     public void setData(List<ContentDO> data) {
    40         this.data = data;
    41     }
    42 
    43 }
    View Code
     1 public class ContentDO {
     2 
     3     private String id;
     4 
     5     private String title;
     6 
     7     private String url;
     8 
     9     public String getId() {
    10         return id;
    11     }
    12 
    13     public void setId(String id) {
    14         this.id = id;
    15     }
    16 
    17     public String getTitle() {
    18         return title;
    19     }
    20 
    21     public void setTitle(String title) {
    22         this.title = title;
    23     }
    24 
    25     public String getUrl() {
    26         return url;
    27     }
    28 
    29     public void setUrl(String url) {
    30         this.url = url;
    31     }
    32 
    33 }
    View Code
     1 public class Client {
     2 
     3     public static void main(String[] args) {
     4         String js = JSON.toJSONString(initContentData());
     5         System.out.println(js);
     6 
     7     }
     8 
     9     static ContentData initContentData() {
    10         ContentData c = new ContentData();
    11         c.setContents(initContentRess());
    12         return c;
    13     }
    14 
    15     static ContentRes initContentRes() {
    16 
    17         ContentRes c = new ContentRes();
    18         c.setData(initContentDOs());
    19         c.setMsg("msg");
    20         c.setSuccess(true);
    21         c.setTatal(100L);
    22         return c;
    23     }
    24 
    25     static List<ContentRes> initContentRess() {
    26         List<ContentRes> res = new ArrayList<ContentRes>();
    27         res.add(initContentRes());
    28         return res;
    29     }
    30 
    31     static List<ContentDO> initContentDOs() {
    32         List<ContentDO> res = new ArrayList<ContentDO>();
    33         for (int i = 0; i < 3; i++) {
    34             ContentDO c = new ContentDO();
    35             c.setId("id" + i);
    36             c.setTitle("title" + i);
    37             c.setUrl("url" + i);
    38             res.add(c);
    39         }
    40         return res;
    41     }
    42 }
    View Code

    结果 : 

    {
        "contents": [
            {
                "data": [
                    {
                        "id": "id0",
                        "title": "title0",
                        "url": "url0"
                    },
                    {
                        "id": "id1",
                        "title": "title1",
                        "url": "url1"
                    },
                    {
                        "id": "id2",
                        "title": "title2",
                        "url": "url2"
                    }
                ],
                "msg": "msg",
                "success": true,
                "tatal": 100
            }
        ]
    }

    ②、将json 数据转为object 对象

    JSON.parseObject(String text, Class<T> clazz)
    public static void main(String[] args) {
            String js = JSON.toJSONString(initContentData());
            System.out.println(js);
            
            ContentData obj = JSON.parseObject(js, ContentData.class);
            System.out.println(obj);
    
            js = JSON.toJSONString(initContentData2());
            System.out.println(js);
        }

    结果 :

    三、近来项目,老是遇到一些细节,有必要在此提一下。

    ①、List 转为json 数据的格式。[...]

    [
      {},
      {},
      {}
    ]

    demo,可以见上诉Object转为json数据

    ②、Array 转为json 数据的格式 。 同上

     四、推荐JSON格式化的工具

    http://qqe2.com/

    http://www.bejson.com/

  • 相关阅读:
    Python程序员用文字加密的方式,给女程序员写情书,一周后牵手回家
    小学生在网吧用python抓取LOL英雄皮肤,步骤简单
    vuex中module的命名空间概念
    动态设置html的font-size值
    JavaScript判断各种数据类型
    vuex脑图
    作用域链和函数内部this指向问题以及bind、call、apply方法
    BOM
    jQuery_base
    js_base_note
  • 原文地址:https://www.cnblogs.com/chenmo-xpw/p/5495619.html
Copyright © 2011-2022 走看看