日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

fastjson解析json简介

發布時間:2025/5/22 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 fastjson解析json简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

一、簡介

阿里巴巴FastJson是一個Json處理工具包,是一個Java語言編寫的高性能功能完善的JSON庫。,包括“序列化”和“反序列化”兩部分,它具備如下特征:
速度最快,測試表明,fastjson具有極快的性能,超越任其他的Java Json parser。包括自稱最快的JackJson;
功能強大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;無依賴,能夠直接運行在Java SE 5.0以上版本;支持Android;開源 (Apache 2.0)
Fastjson API入口類是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON類上的靜態方法直接完成。

二、FastJson解析Json步驟

A、服務器端將數據轉換成json字符串
??????首先、服務器端項目要導入阿里巴巴的fastjson的jar包至builtPath路徑下(這些可以到fastjson官網下載:http://code.alibabatech.com/wiki/display/FastJSON/Home-zh)

然后將數據轉為json字符串,核心函數是: public?static?String?createJsonString(Object?value){String?alibabaJson?=?JSON.toJSONString(value);return?alibabaJson;}

?

Fastjson API入口類是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON類上的靜態方法直接完成。

?public?static?final?Object?parse(String?text);?//?把JSON文本parse為JSONObject或者JSONArray? public?static?final?JSONObject?parseObject(String?text);?//?把JSON文本parse成JSONObject???? public?static?final??T?parseObject(String?text,?Class?clazz);?//?把JSON文本parse為JavaBean? public?static?final?JSONArray?parseArray(String?text);?//?把JSON文本parse成JSONArray? public?static?final??List?parseArray(String?text,?Class?clazz);?//把JSON文本parse成JavaBean集合? public?static?final?String?toJSONString(Object?object);?//?將JavaBean序列化為JSON文本? public?static?final?String?toJSONString(Object?object,?boolean?prettyFormat);?//?將JavaBean序列化為帶格式的JSON文本? public?static?final?Object?toJSON(Object?javaObject);?將JavaBean轉換為JSONObject或者JSONArray。

?

B、客戶端將json字符串轉換為相應的javaBean

?首先客戶端也要導入fastjson的兩個jar包

1、客戶端獲取json字符串

/**?接收path服務器端返回的?InputStream,?轉換為?json字符串*?@author?ben**/ public?class?HttpUtils?{public?static?String?getJsonContent(String?url_path?,String?encode){String?jsonString?=?"";try?{URL?url?=?new?URL(url_path);???HttpURLConnection?connection?=?(HttpURLConnection)url.openConnection();connection.setConnectTimeout(3000);//用POST方式獲取數據,也可以改成GETconnection.setRequestMethod("POST");//從服務器獲得數據connection.setDoInput(true);??int?responseCode?=?connection.getResponseCode();???if?(200?==?responseCode)?{jsonString?=?changeInputStream(connection.getInputStream(),encode);}?}?catch?(Exception?e)?{e.printStackTrace();}return?jsonString;}private?static?String?changeInputStream(InputStream?inputStream?,?String?encode)?throws?IOException?{String??jsonString?=?null;ByteArrayOutputStream?outputStream?=?new?ByteArrayOutputStream();byte[]?data?=?new?byte[1024];int?len?=?0;while((len=inputStream.read(data))!=-1){outputStream.write(data,?0,?len);}jsonString?=?new?String(outputStream.toByteArray(),?encode);inputStream.close();return?jsonString;}}

2、利用FastJsonTools工具類,將得到的Json字符串進行轉化:

public?class?FastJsonTools?{/***?用fastjson?將json字符串解析為一個?JavaBean*?*?@param?jsonString*?@param?cls*?@return*/public?static?<T>?T?getObject(String?jsonString,?Class<T>?cls)?{T?t?=?null;try?{t?=?JSON.parseObject(jsonString,?cls);}?catch?(Exception?e)?{//?TODO:?handle?exceptione.printStackTrace();}return?t;}/***?用fastjson?將json字符串?解析成為一個?List<JavaBean>?及?List<String>*?*?@param?jsonString*?@param?cls*?@return*/public?static?<T>?List<T>?getList(String?jsonString,?Class<T>?cls)?{List<T>?list?=?new?ArrayList<T>();try?{list?=?JSON.parseArray(jsonString,?cls);}?catch?(Exception?e)?{//?TODO:?handle?exception}return?list;}/***?用fastjson?將jsonString?解析成?List<Map<String,Object>>*?*?@param?jsonString*?@return*/public?static?List<Map<String,?Object>>?getListMap(String?jsonString)?{List<Map<String,?Object>>?list?=?new?ArrayList<Map<String,?Object>>();try?{//?兩種寫法//?list?=?JSON.parseObject(jsonString,?new//?TypeReference<List<Map<String,?Object>>>(){}.getType());list?=?JSON.parseObject(jsonString,new?TypeReference<List<Map<String,?Object>>>()?{});}?catch?(Exception?e)?{//?TODO:?handle?exception}return?list;} }

?

轉載于:https://my.oschina.net/bigdataer/blog/424748

總結

以上是生活随笔為你收集整理的fastjson解析json简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。