中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用java鏈式創建json對象

發布時間:2022-02-11 13:47:36 來源:億速云 閱讀:286 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“如何使用java鏈式創建json對象”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何使用java鏈式創建json對象”這篇文章吧。

1、假設我們要創建一個json對象格式如下:

{
    "code": 0,
    "msg": "SUCCESS"
}

2、往常創建JSON語法:

java中傳統的創建json一般采用如下形式,先來看一個例子:

JSONObject res = new JSONObject();
res.put("code",0);
res.put("msg","SUCCESS");

這個例子中,每往json中加入一個元素都需要寫一遍res.put,每行只能創建一個json的數據,這樣比較繁瑣,代碼也很臃腫,是不是覺得很不科學。

如果你覺得這還能接受,那么你不妨試試二級json,三級json,完整的寫下來,你的代碼能有幾十行是毫不夸張的。

3、解決方案——鏈式創建JSON:

我們可以采用鏈式創建JSON的方法,例如下面例子:

JSONObject res1 = new YtJSONObject().put("code",0).put("msg","SUCCESS").getHome();

通過以上例子中,我們實現了鏈式創建JSON,每往JSON中加入一個元素,只需要在鏈式寫法(也稱鏈條語法)中寫.put接上新元素即可。

這樣我們就實現了鏈式創建JSON,好處是免去每次都寫res.put的煩惱,創建一個完整的JSON對象只需要一行代碼即可,這樣代碼就整潔清晰了很多。

以上例子中我們用到了一個類:YtJSONObject,這個類是將JSONObject類再次封裝的一個加強類,通過.put元素鏈條寫完后,最終采用.getHome獲取得到JSONObject類對象,從而實現JSON的鏈式寫法

如需獲取JSON字符串,我們只需要使用JSONObject對象原有的方法,例如:

String str = new YtJSONObject().put("code",0).put("msg","SUCCESS").getHome().toString();

這里的.getHome()方法就是真正獲取到了JSONObject類對象,同時也就支持了JSONObject類對象的一切方法,所以可以調用.toString()轉為json字符串。

4、實現多級JSON

很多時候我們的json都不是一級的,還會有二級、三級、無數級,此時使用傳統的json聲明語法只會時代碼越來越多,作用卻不大。

使用鏈式json如何實現呢,我們來看個例子:

JSONObject res2 = new YtJSONObject()
    .put("code",0)
    .put("msg","SUCCESS")
    .put("result",
        new YtJSONObject()
            .put("id",1)
            .put("url","a")
        )
    .getHome();

以上例子中我們實現了一個二級JSON,就是增加了一個result級別的json,直接在賦值的地方繼續new YtJSONObject對象,然后繼續向下使用鏈式寫法即可,如果你還需要三級JSON甚至多級JSON也是同理。

為了讓語法看起來更加清晰,我把鏈式寫法格式化了一下,更容易看清楚,實際應用中不太長的JSON鏈式寫法完全可以寫在一行上。

5、YtJSONObject類源碼

import com.alibaba.fastjson.JSONObject;

public class YtJSONObject {

    private JSONObject home;

    public YtJSONObject() {
        this.home = new JSONObject();
    }

    public YtJSONObject put(String key, Object value) {
        home.put(key, value);
        return this;
    }

    public JSONObject getHome() {
        return home;
    }
}

 該類只是增強了JSONObject類,使JSONObject類支持鏈式語法,并不是自行創建了一種JSON類類型,因此使用時還需要在pom.xml中引入一下fastjson

以上是“如何使用java鏈式創建json對象”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贵南县| 五大连池市| 大丰市| 五华县| 大田县| 湘西| 开平市| 南皮县| 中卫市| 青州市| 嘉义市| 嘉祥县| 辛集市| 柳河县| 夏津县| 陆河县| 武定县| 吴旗县| 定西市| 和田市| 弥勒县| 仁化县| 临颍县| 临汾市| 乌兰察布市| 普陀区| 舟曲县| 长沙市| 东明县| 灵寿县| 泸水县| 东山县| 台北市| 龙海市| 温泉县| 封丘县| 称多县| 芜湖县| 贺兰县| 涿鹿县| 池州市|