• 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/

  • 相关阅读:
    ‘Host’ is not allowed to connect to this mysql server
    centos7安装mysql
    further configuration avilable 不见了
    Dynamic Web Module 3.0 requires Java 1.6 or newer
    hadoop启动 datanode的live node为0
    ssh远程访问失败 Centos7
    Linux 下的各种环境安装
    Centos7 安装 python2.7
    安装scala
    Centos7 安装 jdk 1.8
  • 原文地址:https://www.cnblogs.com/chenmo-xpw/p/5495619.html
Copyright © 2020-2023  润新知