国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android解析json數據示例代碼(三種方式)

2019-12-12 03:19:10
字體:
來源:轉載
供稿:網友

Json數據

復制代碼 代碼如下:

[{"code":"110000","sheng":"11","di":"00","xian":"00","name":"北京市","level":1},{"code":"659004","sheng":"65","di":"90","xian":"04","name":"五家渠市","level":3},{"code":"710000","sheng":"71","di":"00","xian":"00","name":"臺灣省","level":1},{"code":"810000","sheng":"81","di":"00","xian":"00","name":"香港特別行政區","level":1},{"code":"820000","sheng":"82","di":"00","xian":"00","name":"澳門特別行政區","level":1}]

這里附上一個檢查json數據格式是否正確的網站http://www.json.cn/

三種解析方式android自帶解析,Gson解析,FastJson解析

1、android自帶解析

 json_btn.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        String s = getString();        Log.d("txt",s);        List<City> list = new ArrayList<City>();        try {          JSONArray obj = new JSONArray(s);          for(int i=0;i<obj.length();i++){            JSONObject jsonobj = (JSONObject)obj.get(i);            City city = new City();            city.setCode(jsonobj.getString("code"));            city.setSheng(jsonobj.optString("sheng"));            city.setDi(jsonobj.optString("di"));            city.setXian(jsonobj.optString("xian"));            city.setName(jsonobj.optString("name"));            city.setLevel(jsonobj.optInt("level"));            Log.d("txt",city.toString());            textView.append(city.toString());          }        } catch (JSONException e) {          e.printStackTrace();        }      }    });

先獲取JSON數組,在解析JsonObject。

2、Gson解析

Gson_btn.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        String s = getString();        JsonParser parser = new JsonParser();        JsonArray jsonArray = parser.parse(s).getAsJsonArray();        Gson gson = new Gson();        for (JsonElement obj:jsonArray){          City city = gson.fromJson(obj,City.class);          Log.d("txt", city.toString());          textView.append(city.toString());        }      }    });

先獲取Json數組,再解析jsonObject。

3、FastJson

fastjson_btn.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        String s = getString();        Log.d("txt",s);        List<City> lists = JSON.parseArray(s,City.class);        for(City city:lists){          textView.append(city.toString());          Log.d("txt",city.toString());        }      }    });

 直接獲取JsonArray解析List<Bean>。

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> T parseObject(String text, Class<T> clazz); // 把JSON文本parse為JavaBean    public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray  public static final <T> List<T> parseArray(String text, Class<T> 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(和上面方法的區別是返回值是不一樣的)

三種解析方法,個人感覺fastjson使用起來還是很方便的。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 重庆市| 托里县| 海伦市| 湘阴县| 双鸭山市| 杭州市| 黄山市| 聂拉木县| 抚顺市| 平罗县| 柳江县| 华阴市| 通辽市| 汤原县| 八宿县| 大理市| 凤翔县| 锦州市| 吴旗县| 三明市| 和林格尔县| 宜都市| 泉州市| 屯昌县| 昌宁县| 米脂县| 大悟县| 拜城县| 滨州市| 巩留县| 连云港市| 通许县| 岳阳县| 怀宁县| 清河县| 正安县| 中卫市| 达尔| 昆山市| 株洲县| 临城县|