Android開發之FastJson概述與簡單使用
Android開發之FastJson概述與簡單使用
在Android開發中,我們Android客戶端如果要和伺服器端互動,一般都會採用json資料格式進行互動,FastJson是阿里巴巴工程師開發的一個Json處理工具包,包括“序列化”和“反序列化”兩部分,Fastjson是一個Java語言編寫的高效能功能完善的JSON庫。
一個JSON庫涉及的最基本功能就是 序列化 和 反序列化 。
Fastjson支援java bean的直接序列化。你可以使用 com.alibaba.fastjson.JSON 這個類進行序列化和反序列化。
fastjson採用獨創的演算法,將parse的速度提升到極致,超過所有json庫。
特點:
FastJson速度最快,fastjson具有極快的效能,超越任其他的Java Json parser。
FastJson功能強大,完全支援Java Bean、集合、Map、日期、Enum,支援範型,支援自省;無依賴。
Fastjson API入口類是 com.alibaba.fastjson.JSON ,常用的序列化操作都可以在JSON類上的靜態方法直接完成。
使用Fastjson首先在官網下載,然後應用到自己的專案中,GitHub連結:https://github.com/alibaba/fastjson
FastJson 1.2.6直接下載:https://github.com/alibaba/fastjson/archive/1.2.6.zip
1.概述一下Fastjson中的經常呼叫的方法:
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
2.簡單的使用Fastjson
1)伺服器端 使用 Fastjson 將資料轉換成json字串,主要使用的函式如下:
public static String createJsonString(Object value) {
String alibabaJson = JSON.toJSONString(value);//此處轉換
return alibabaJson;
}
伺服器端呼叫此函式執行轉換即可,此處不再贅述。
2)客戶端 將從伺服器端獲取到的json字串 轉換為相應的javaBean,下面獲取Json資料的函式例子,供參考:
//獲取Json資料
public static String getJsonContent(String urlStr) {
try {
// 獲取HttpURLConnection連線物件
URL url = new URL(urlStr);
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
// 設定連線屬性
httpConn.setConnectTimeout(3000);
httpConn.setDoInput(true);
httpConn.setRequestMethod("GET");
// 獲取相應碼 200表示請求success
int respCode = httpConn.getResponseCode();
if (respCode == 200){
//轉換並返回
return convertStream2Json(httpConn.getInputStream());
}
}catch (MalformedURLException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
return null;
}
private static String convertStream2Json(InputStream inputStream) {
String jsonStr = "";
// ByteArrayOutputStream相當於記憶體輸出流
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
// 將輸入流轉移到記憶體輸出流中
while ((len = inputStream.read(buffer, 0, buffer.length)) != -1){
out.write(buffer, 0, len);
}
// 將記憶體流轉換為字串
jsonStr = new String(out.toByteArray());
return jsonStr;
}
3)使用泛型獲取javaBean,也可像上述所說,Fastjson API入口類是 com.alibaba.fastjson.JSON ,常用的序列化操作都可以直接在呼叫JSON類上的靜態方法完成,下面再次封裝了一下。
public static T parse2Bean(String jsonString, Class cls) {
T t = null;
//呼叫JSON類中的方法,parse為Bean物件
t = JSON.parseObject(jsonString, cls);
return t;
}
轉載註明出處:http://blog.csdn.net/gao_chun/article/details/39232097
相關文章
- Android開發之ViewPager簡單使用AndroidViewpager
- Android開發簡單教程.docAndroid
- prometheus 簡單使用及簡單 middleware 開發Prometheus
- 敏捷開發與jira之階段工作項概述敏捷
- 使用Flask開發簡單介面Flask
- Android開發筆記[16]-簡單使用wasmedge執行時Android筆記ASM
- android移動開發簡單的開發例項Android移動開發
- Android 開發簡單記事本程式Android
- OpenCV在Android中的整合與簡單使用OpenCVAndroid
- Android應用開發架構概述Android架構
- Android開發之道(10)Handler本質簡析與使用例項Android
- B樹概述與簡單應用示例(C#)C#
- 微信小程式之簡單開發操作(一)微信小程式
- Android開發之Fragment動態使用AndroidFragment
- Sping的簡單概述
- android開發中Settings結構簡單分析Android
- Android 用WebView開發簡單的瀏覽器AndroidWebView瀏覽器
- Android開發技巧——PagerAdapter再簡單的包AndroidAPT
- Android開發之Loader與LoaderManagerAndroid
- 使用 Flutter 開發簡單的 Web 應用FlutterWeb
- 安卓開發中RecycleView簡單使用步驟安卓View
- iOS開發之簡單音訊播放器iOS音訊播放器
- Android 使用fastjson找不到fastjson包問題的解決方法AndroidASTJSON
- HealthKit開發快速入門教程之HealthKit開發概述簡介
- 設計模式-簡單工廠模式概述和使用-介面設計模式
- Android混合開發之WebView使用總結AndroidWebView
- Android開發之 .9PNG 的使用Android
- Android開發之Spinner控制元件使用Android控制元件
- Android開發之ListView使用經驗分享AndroidView
- Oracle管理監控之sql developer配置與簡單使用OracleSQLDeveloper
- Android開發之RadioGroup與RadioButton控制元件使用Android控制元件
- SparkSQL部署與簡單使用SparkSQL
- Android開發之TabLayout實現頂部選單AndroidTabLayout
- 軟體開發公司概述Android指紋APIAndroidAPI
- Android混合開發之WebView與Javascript互動AndroidWebViewJavaScript
- Android開發之再探底部選單TabLayout與BottomNavigation實現方式AndroidTabLayoutNavigation
- Android中Lottie的簡單使用Android
- 使用Python開發windows桌面程式【超簡單】PythonWindows