Android實戰——GsonFormat、Gson、fastjson快速搞定JSON資料解析
GsonFormat、Gson、fastjson快速搞定JSON資料解析
本篇文章包括以下內容:
- GsonFormat的使用
- Gson框架的使用
- fastjson框架的使用
GsonFormat的使用
GsonFormat是一個Android Studio的外掛,輸入一段Json格式的資料,會自動生成對應的Bean物件,省去了我們以前手動建立Json物件的時間
一、安裝GsonFormat
在Android Studio中,通過File->Settings->Plugins,然後點選Browse repositories…按鈕
輸入GsonFormat右側進行安裝,我這裡已經安裝過
二、使用GsonFormat
我們準備了一段比較簡單的Json資料作為我們的測試資料
{
"error_code": 0,
"reason": "Success",
"result": {
"data":[
{
"content":"床不在好,有女(你)就行,枕不在久,整完就走,斯是陋室,惟吾色心!!…",
"hashId":"accd4dea540fe0b2f2205f9234114335",
"unixtime ":1478579630,
"updatetime":"2016-11-08 12:33:50"
},
{
"content":"老婆問老公:親愛的你覺得我是灰姑娘嗎?老公回答:當然不是了。老婆:那你的意思說是我是白雪公主?老公回答:不,你是黑姑娘。",
"hashId":"8144c8979f02c539841968ef8046db98",
"unixtime":1478577230,
"updatetime ":"2016-11-08 11:53:50"
},
{
"content":"睡的正香,老婆把我叫醒說她要去衛生間,我說你上廁所就上唄!她說我是要叫你起來穿衣服的,我說那你上廁所我起來穿衣服幹啥?我又不冷!然後就看著老婆把被子抱在身上去上廁所了。",
"hashId":"76b7f6c0ba6c3455fbd216820ce4a68c",
"unixtime":1478577230,
"updatetime":"2016-11-08 11:53:50"
},
{
"content":"老奶奶加了計程車,到了之後車費顯示是8塊,但是她只給了3塊。司機趕緊叫住老奶奶:“老太太,這車費8塊塊你怎麼只付3元呢?”老奶奶回答:“我剛才坐車的時候計價器顯示5元塊了。那我不就是在給三塊就可以了。",
"hashId":"85a82ecf746981ea3f48e5066eb034e1",
"unixtime":1478577230,
"updatetime":"2016-11-08 11:53:50"
},
{
"content":"每次看戰爭片時總有一些疑惑,在衝鋒時前面的士兵一邊奔跑著一邊狂打槍,可以理解。但總是看到後面的士兵也緊跟著跑開著槍,難道子彈會拐彎,打不到前面的士兵嗎?……求解答,為什麼打不到隊友?",
"hashId":"d3ddd517e97a6dbeac24c82d4ce34e72",
"unixtime":1478575431,
"updatetime":"2016-11-08 11:23:51"
}
]
}
}
使用GsonFormat非常簡單,首先建立一個Bean物件
public class Info {
}
接著在這個類裡面使用alt+shift+s快捷鍵(就是滑鼠右鍵的快捷鍵),進入Generate…,就可以找到GsonFormat
進入GsonFormat將我們的測試Json資料輸入,點選確定,即可完成我們的Bean類的建立
檢視我們自動生成的類
public class Info {
/**
* error_code : 0
* reason : Success
* result : ......
*/
private int error_code;
private String reason;
private ResultBean result;
public int getError_code() {
return error_code;
}
public void setError_code(int error_code) {
this.error_code = error_code;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
public ResultBean getResult() {
return result;
}
public void setResult(ResultBean result) {
this.result = result;
}
public static class ResultBean {
/**
* content : 床不在好,有女(你)就行,枕不在久,整完就走,斯是陋室,惟吾色心!!…
* hashId : accd4dea540fe0b2f2205f9234114335
* unixtime : 1478579630
* updatetime : 2016-11-08 12:33:50
*/
private List<DataBean> data;
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
private String content;
private String hashId;
private int unixtime;
private String updatetime;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getHashId() {
return hashId;
}
public void setHashId(String hashId) {
this.hashId = hashId;
}
public int getUnixtime() {
return unixtime;
}
public void setUnixtime(int unixtime) {
this.unixtime = unixtime;
}
public String getUpdatetime() {
return updatetime;
}
public void setUpdatetime(String updatetime) {
this.updatetime = updatetime;
}
}
}
}
由於我們自動生成的Bean物件沒有加上toString()的方法,為了方便後面的演示,我們手動增加toString()的方法,這裡就不介紹了
Gson框架的使用
Gson–是一款Google公司的用來解析json資料格式的庫
準備工作,匯入依賴:
compile 'com.google.code.gson:gson:2.8.0'
一、Json資料自動生成Bean物件
Gson gson = new Gson();
Info info = gson.fromJson(jsonStr,Info.class);
二、Bean物件轉化為Json資料
String jsonSti = new Gson().toJson(info);
這裡演示我們剛才Info物件的資料,通過TextView顯示出來
Gson gson = new Gson();
Info info = gson.fromJson(jsonStr,Info.class);
tv.setText(info.toString());
效果圖
fastjson框架的使用
Fastjson–是一款阿里巴巴的用來解析json資料格式的庫,據說目前最快
準備工作,匯入依賴:
compile 'com.alibaba:fastjson:1.2.20'
一、Json資料自動生成Bean物件
Info info = JSON.parseObject(jsonStr,Info.class);
二、Bean物件轉化為Json資料
String jsonStr = JSON.toJSONString(info);
這裡演示我們剛才Info物件的資料,通過TextView顯示出來
Info info = JSON.parseObject(jsonStr, Info.class);
tv.setText(info.toString());
效果圖
相關推薦
Android實戰——GsonFormat、Gson、fastjson快速搞定JSON資料解析
GsonFormat、Gson、fastjson快速搞定JSON資料解析 本篇文章包括以下內容: GsonFormat的使用 Gson框架的使用 fastjson框架的使用 GsonFormat的使用
使用Gson輕鬆解決複雜結構的Json資料解析
JSON簡介 JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。JSON 是儲存和交換文字資訊的語法,類似XML,但是比XML更小、更快,更易解析。 JSON語法 JSON構建於兩種結構:
[Android開發] Json解析工具類,一個類搞定Json的解析
一、簡介 利用遞迴的方式反射解析到bean裡面 二、詳細程式碼 1、 Json格式 例如伺服器指定規定json格式為: { "code": "……" , // 返回代號,預留欄位,預設返回null "type":"ER
Android中Json資料解析(二)--使用Gson、Jackson和FastJson解析Json資料
/**-----------------Jackson資料解析----------------------------*/ private static ObjectMapper mObjectMapper; private static JsonGenerator mJsonGenerator; pr
fastjson、gson、jackson序列化和反序列化效能對比
注:相關依賴 <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId
Json和Bean間的序列化和反序列化(JSONObject、Gson、FastJson的使用)
json格式校驗 日常開發經常涉及到和json的互動,以下原因會常常會使json格式錯誤: 1、json串的非數字型的鍵值沒有雙引號 2、json中存在\t這樣的表符,這個比較難發現 3、json中缺少{}或[]導致結構不完整 可以通過FE助手或網頁版的json校驗json格
【推薦】fastjson、gson、jackson 序列化和反序列化效能對比
第一部分:序列化測試 首先說一下結論。 1. 序列化測試結論 100個物件轉換,gson最快、fastjson其次、jackson最差 b. 10000個物件轉換,gson和fastjson耗時幾乎一樣,jackson最差 100000個物件轉換,fastjson最快、jac
【Android實戰】圖片選取、拍攝、裁剪、上傳
圖片上傳 效果圖展示 圖片上傳前的準備 帶圓角的方形圖片 使用的第三方控制元件,主要關注如下一些檔案 RoundedDrawable RoundedImageView RoundedTrans
Android開發-進階:Json字串轉換為java物件的各種實現方法[json_lib框架、Gson、org.json]
JSON (JavaScript Object Notation) 是一種輕量級的資料交換格式。易於人閱讀和編寫。同時也易於機器解析和生成。它基於JavaScript Programming Language, Standard ECMA-262 3rd Edition
fastjson、gson、jackson序列化和反序列化效能對比(僅供示例參考)
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</gro
手把手教你制作微信小程序,開源、免費、快速搞定
免費 list life 支付 直接 domain -i 方式 poster 最近做了個“羅孚傳車”的小程序 一時興起,做了一個小程序,將個人收集的同汽車相關的行業資訊和學習資料,分享到小程序中,既作為歷史資料保存,又提供給更多的人學習和了解,還能裝一下:) 掃描下方小程序
一篇文章搞懂DataSet、DataFrame、RDD-《每日五分鐘搞定大資料》
1. 三者共性: 1、RDD、DataFrame、Dataset全都是spark平臺下的分散式彈性資料集,為處理超大型資料提供便利 2、三者都有惰性機制,執行trainform操作時不會立即執行,遇到Action才會執行 3、三者都會根據spark的記憶體情況自動快取運算,這樣即使資料量很大,也不用擔心會
JSON資料解析:Gson(谷歌)和fastjson(阿里巴巴)的異同點
Gson和fastjson分別為谷歌和阿里巴巴對JSON資料進行處理封裝的jar包 Gson(谷歌)和fastjson(阿里巴巴)兩者異同點: 相同點:都是根據JSON資料建立相應的類 不同點
Android:用GSON 五招之內搞定任何JSON陣列
我為什麼寫這篇文章呢?因為前幾晚跟好友 xiasuhuei321 探討了一下GSON解析複雜的JSON的時候,能不能只解析源資料中的陣列,甚至只解析陣列的某一部分。探討了二十分鐘,得出結論:沒用過,不知道。 所以今天特地研究了一下,發現真的So Easy!之前想
Android引導蒙層,安卓新手引導圖,引導圖層,支援橢圓,圓形,矩形多種形狀,一行程式碼快速搞定
package com.laxian.guideview; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.Gravity; import android.view.
jmeter新增http請求、java請求,將返回的json資料提取出來並將結果追加到一個檔案
jmeter新增http請求、java請求,將返回的json資料提取出來並將結果追加到一個檔案 抽獎活動返回的是json資料,所以需要先將返回的json字串裡面需要統計的欄位提取出來,此處需要統計的是reward欄位(reward即返回的獎品型別) 每個http請求都
Angularjs cors 用get、post方法與springmvc後傳遞json資料的配置
首先介紹跨域問題,基於安全的考慮,頁面只有在同一個域名下,交流資料,比如網易就不能申請百度的服務(抓取網頁那是另外的技術),ajax也是這個使用範圍,跨域就失效了。 在移動開發中,手機本身就是web站點,後臺pc伺服器是另外一個web站點。這樣就存在跨域問題。 早先用js
百度PaddlePaddle再獲新技能 智能推薦、對話系統、控制領域都能搞定!
案例 轉移 深度學習 碰撞 成功 不足 相對 近日 處理 引言:人工智能技術越來越廣泛的應用於各行各業,而這一切都離不開底層深度學習框架的支持。近日,百度深度學習PaddlePaddle正式發布了強化學習框架PARL,同時開源了基於該框架,在NeurIPS 2018強化學習
玩轉IDEA專案結構Project Structure,打Jar包、模組/依賴管理全搞定
![](https://img-blog.csdnimg.cn/20210126073041771.png#pic_center) # 前言 你好,我是A哥(YourBatman)。 如何給Module模組單獨增加依賴? 如何知道哪些Module模組用了Spring框架,哪些是web工程? IDEA如何
大資料專案實戰30天搞定大資料爬蟲專案超清視訊教程
大資料專案實戰30天搞定大資料爬蟲專案超清視訊教程 《大資料專案實戰30天搞定大資料爬蟲專案超清視訊教程》本專案採用JAVA語言實現,絕對基於真實的爬蟲專案進行改進和優化,希望進一步提升大家的大資料專案經驗。本專案基本涵蓋了爬蟲專案的整個流程,包括資料爬蟲、全文檢索、資料視覺化、爬蟲專案