fastjson简单使用

    fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。

 git wiki url 

一. Maven依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.73</version>
</dependency>

二. 简单使用

fastjson的API十分简洁。

String text = JSON.toJSONString(obj); //序列化
VO vo = JSON.parseObject("{...}", VO.class); //反序列化

//如果不想创建类还可以使用 JsonObject
JsonObject jsonObject = JSON.parseObject("{...}");
jsonObject.getXXX(String key);

例子:

package study.yan.fastjson.demo;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.io.Serializable;

public class Program {
    public static void main(String[] args) {
//        JSONObject jsonObject = JSON.parseObject("{\"callback_command\": \"CallBackBeforeP2PChatReq\",\"app_id\": 1332142413,\"from_uid\": 3504372018,\"to_uid\": 3711934089,\"uuid\": \"1d7a7d35-6029-4d79-890f-a0b731071836\",\"extension\": \"{\\\"hasPlayed\\\":false,\\\"isPrivateAlbum\\\":0,\\\"needPay\\\":\\\"1\\\",\\\"needTranslate\\\":false,\\\"reply5Min\\\":1,\\\"sendSysLanguage\\\":\\\"in\\\",\\\"translateText\\\":\\\"\\\"}\",\"msg_content\": {\"text\": {\"text\": \"if can i call\"}}}");
//        String msg_content = jsonObject.getString("msg_content");
//        System.out.println(msg_content);
//        MsgContent msgContent = JSON.parseObject(msg_content, MsgContent.class);
//        System.out.println(msgContent);
//        MsgContentText text = msgContent.getText();
//        System.out.println(text);

        JSONObject jsonObject = JSON.parseObject("{\"callback_command\": \"CallBackBeforeP2PChatReq\",\"app_id\": 1332142413,\"from_uid\": 3752868060,\"to_uid\": 3455696810,\"uuid\": \"af9d2eff-2a84-4d1d-922b-2273facd97a1\",\"extension\": \"{\\\"hasPlayed\\\":false,\\\"isPrivateAlbum\\\":0,\\\"needPay\\\":\\\"1\\\",\\\"needTranslate\\\":false,\\\"reply5Min\\\":1,\\\"sendSysLanguage\\\":\\\"ar\\\",\\\"translateText\\\":\\\"\\\"}\",\"msg_content\": {\"image\": {\"original_width\": 966,\"original_height\": 1288,\"thumbnail_url\": \"https://cim-oss-ap-south-1-1332142413.bs2dl.yy.com/3752868060/c6608888-0ee6-41a8-b412-55821a2391b5.png?x-oss-process=image/resize,m_lfit,h_300,w_300\",\"original_url\": \"https://cim-oss-ap-south-1-1332142413.bs2dl.yy.com/3752868060/c6608888-0ee6-41a8-b412-55821a2391b5.png\"}}}");
        String msg_content = jsonObject.getString("msg_content");
        System.out.println(msg_content);
        MsgContent msgContent = JSON.parseObject(msg_content, MsgContent.class);
        System.out.println(msgContent);
        MsgContentText text = msgContent.getText();
        System.out.println(text);
        MsgContentImage image = msgContent.getImage();
        System.out.println(image);
    }

    public static class MsgContent{
        private MsgContentText text;
        private MsgContentImage image;

        public MsgContentText getText() {
            return text;
        }

        public void setText(MsgContentText msgContentText) {
            this.text = msgContentText;
        }

        public MsgContentImage getImage() {
            return image;
        }

        public void setImage(MsgContentImage image) {
            this.image = image;
        }

        @Override
        public String toString() {
            return "MsgContent{" +
                    "text=" + text +
                    ", image=" + image +
                    '}';
        }
    }

    public static class MsgContentText implements Serializable{
        private String text;

        public String getText() {
            return text;
        }

        public void setText(String text) {
            this.text = text;
        }
    }

    static class MsgContentImage implements Serializable {
        private int original_width;
        private int original_height;
        private String thumbnail_url;
        private String original_url;

        public int getOriginal_width() {
            return original_width;
        }

        public void setOriginal_width(int original_width) {
            this.original_width = original_width;
        }

        public int getOriginal_height() {
            return original_height;
        }

        public void setOriginal_height(int original_height) {
            this.original_height = original_height;
        }

        public String getThumbnail_url() {
            return thumbnail_url;
        }

        public void setThumbnail_url(String thumbnail_url) {
            this.thumbnail_url = thumbnail_url;
        }

        public String getOriginal_url() {
            return original_url;
        }

        public void setOriginal_url(String original_url) {
            this.original_url = original_url;
        }

        @Override
        public String toString() {
            return "MsgContentImage{" +
                    "original_width=" + original_width +
                    ", original_height=" + original_height +
                    ", thumbnail_url='" + thumbnail_url + '\'' +
                    ", original_url='" + original_url + '\'' +
                    '}';
        }
    }
}

 

posted @ 2020-09-04 10:48  Super-Yan  阅读(282)  评论(0编辑  收藏  举报