怎么使用fastjson

本篇內(nèi)容介紹了“怎么使用fastjson”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

公司主營業(yè)務(wù):網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出下冶免費(fèi)做網(wǎng)站回饋大家。

JSONObject的方法

包名: com.alibaba.fastjson maven依賴:

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

JSONObject的使用

將字符串轉(zhuǎn)換成JSONObject對象

	String str = "{\"desc\":\"json格式的字符串\",\"sex\":\"男\(zhòng)"}";
	JSONObject jo = JSONObject.parseObject(str);

JSONObject可以將極其復(fù)雜的json對象轉(zhuǎn)換,下面的json語句也可以轉(zhuǎn)換,并通過相應(yīng)方法獲得對應(yīng)的值

{
    "protocol":{
        "itemID":"9527",
        "companyID":"4399",
        "userID":"233"
    },
    "operateInfo":{
        "cooptaskSceneDataPackets":[
            {
                "taskID":"123",
                "runSceneID":"345",
                "dataTagCode":"反對",
                "dataTagID":"",
                "dataTagName":"是的",
                "dataTagBelongOrg":""
            },
            {
                "taskID":"126",
                "runSceneID":"345",
                "dataTagCode":"",
                "dataTagID":"",
                "dataTagName":"是的",
                "dataTagBelongOrg":""
            },
            {
                "taskID":"123",
                "runSceneID":"345",
                "dataTagCode":"無法",
                "dataTagID":"十五日",
                "dataTagName":"是的",
                "dataTagBelongOrg":"五七二"
            },
            {
                "taskID":"124",
                "runSceneID":"235",
                "dataTagCode":"",
                "dataTagID":"",
                "dataTagName":"",
                "dataTagBelongOrg":""
            }
        ]
    }
}

將String對象轉(zhuǎn)換成實(shí)體類

使用JSONObject.parseObject(String text, Class<T> clazz)

	String str ="{\"itemID\":\"9527\",\"companyID\":\"4399\",\"userID\":\"233\"}";
	EntityProtocol entityProtocol = JSONObject.parseObject(str, EntityProtocol.class);

如果類型不匹配則會創(chuàng)建所有屬性均為null的該實(shí)體類。

向JSONObject對象添加或者修改屬性

使用.put(key,value)方法
若key參數(shù)在原對象中沒有則在原對象中新增key屬性并賦值為value;
若key參數(shù)存在則更改key的值為value;

	//JSONObject.put(String key,Object value);
	jo.put("key","value");
	jo.put("sex","修改");

JSONObject.putAll(Map<? extends String, ? extends Object> m) 方法的使用

經(jīng)測試發(fā)現(xiàn)參數(shù)可以為JSONOBject,其邏輯為將參數(shù)json的屬性及其值依次put到原json對象中

	 String str = "{\"name\":\"測試\",\"sex\":\"男\(zhòng)"}";
	 JSONObject jo = JSONObject.parseObject(str);
	 String str2 = "{\"name\":\"我是\",\"age\":\"13\"}";
	 JSONObject jo2 = JSONObject.parseObject(str2);
	 jo.putAll(jo2);
	 //運(yùn)行完成后jo為:
	 //{"sex":"男","name":"我是","age":"13"}

JSONArray的使用

JSONArray對象添加元素

使用JSONArray.add(Object e)
只是簡單的將元素e添加到JSONArray數(shù)組中,既不校驗(yàn)e元素是否已存在于原數(shù)組中,也不校驗(yàn)e元素是否跟元素組格式相同

	String str = "{\"name\":\"測試\",\"sex\":\"男\(zhòng)"}";
	JSONArray ja = new JSONArray();
	ja.add(str);
	JSONObject jo = JSONObject.parseObject("{\"name\":\"第二個(gè)\",\"age\":\"24\"}");
	ja.add(jo);
	System.out.println(ja);
	//結(jié)果為: ["{\"name\":\"測試\",\"sex\":\"男\(zhòng)"}",{"name":"第二個(gè)","age":"24"}]  
	JSONObject jo1 = JSONObject.parseObject(str);
	ja.add(jo1);
	System.out.println(ja);
	//結(jié)果為: ["{\"name\":\"測試\",\"sex\":\"男\(zhòng)"}",{"name":"第二個(gè)","age":"24"},{"sex":"男","name":"測試"}]

獲取JSONArray中某一元素

  • JSONArray.get(int index),JSONArray.getString(int index),JSONArray.getJSONObject(int index)
    這些方法運(yùn)行正常

  • JSONArray.getByte(int index),JSONArray.getByteValue(int index)
    這些方法運(yùn)行報(bào)錯,沒深究過為什么,估計(jì)是string不能轉(zhuǎn)換成byte類型

	 System.out.println(ja.get(1));
	System.out.println(ja.getString(1));
	System.out.println(ja.getJSONObject(1));
	//System.out.println(ja.getByte(1)); can not cast to byte, value
	//System.out.println(ja.getByteValue(1)); can not cast to byte, value

“怎么使用fastjson”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

網(wǎng)頁標(biāo)題:怎么使用fastjson
文章地址:http://www.muchs.cn/article28/ishijp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司做網(wǎng)站、電子商務(wù)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)