羊皮書APP(Android版)開發(fā)系列(十四)Gson解析json很簡(jiǎn)單,還在手動(dòng)的寫實(shí)體類嗎?

不得不說,Gson用起來確實(shí)挺方便的,但是最近發(fā)現(xiàn)很多人在使用Gson的時(shí)候,會(huì)出現(xiàn)各種問題,尤其是新手,下面我給出幾個(gè)問題的解決方法,希望對(duì)你有用。

  • 找不到Gson.jar的下載地址的,直接去github上下載,不用借助他人的各種網(wǎng)盤或csdn等。下載地址是:https://github.com/google/gson
  • Gson如何將json字符串解析為Object:
String jsonStr="";//json字符串
Gson gson = new Gson();
Result obj = gson.fromJson(jsonStr,Result.class);//Result是json對(duì)應(yīng)的實(shí)體類
  • Gson如何將Object轉(zhuǎn)化為json字符串:
String jsonStr = new Gson().toJson(Result.class);

  • Gson將json字符串轉(zhuǎn)為Object時(shí)候,經(jīng)常會(huì)出現(xiàn)異常,如json字符串為空、json字符串不正確,我們可以封裝一個(gè)類,來統(tǒng)一處理:
package cn.studyou.parchment.utils;

import android.text.TextUtils;

import com.google.gson.Gson;

import cn.studyou.baselibrary.log.L;

/**
* 基本功能:Gson解析
* 創(chuàng)建:王杰
* 創(chuàng)建時(shí)間:16/3/15
* 郵箱:w489657152@gmail.com
*/
public class GsonUtils {

   public static Object fromJson(String jsonStr,Class clazz){
       Object object = null;
       if (!TextUtils.isEmpty(jsonStr)) {
           try {
               object = new Gson().fromJson(jsonStr, clazz);
           }catch (Exception e){
               e.printStackTrace();
               L.e("Gson fromJson is error!");
           }
       }
       return object;
   }
  • Gson將復(fù)雜的json字符串轉(zhuǎn)換為Object時(shí),如果手動(dòng)編寫實(shí)體類,簡(jiǎn)直太累了,為什么不選擇一種簡(jiǎn)單的方法呢?在Android studio中使用GsonFormat插件會(huì)很easy,GsonFormat安裝和使用都很簡(jiǎn)單。這里有安裝方法和教程:https://github.com/zzz40500/GsonFormat。安裝了這個(gè)插件,我相信你就不用再為復(fù)雜的json實(shí)體類頭疼了。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,030評(píng)論 25 709
  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,871評(píng)論 2 45
  • 和一個(gè)90后的同事聊天,關(guān)于懷孕。說到如果生孩子,能一次解決生兩個(gè)的問題,那該多好。聽說可以打什么針就可以懷雙...
    豆啊豆啊豆閱讀 236評(píng)論 0 0
  • 杭州交警違法處理可以直接app處理了,不要跑到交警大廳處理(前提是車是本人,駕駛證是本人 而且都是杭州的就可以)下...
    wangyu2488閱讀 4,286評(píng)論 0 0

友情鏈接更多精彩內(nèi)容