Android解析json数据示例代码(三种方式)

 更新时间:2017年03月22日 08:19:47   作者:青色的画轴  
本篇文章主要介绍了Android解析json数据示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Json数据

这里附上一个检查json数据格式是否正确的网站

三种解析方式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使用起来还是很方便的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Android中实现视差滚动示例介绍

    Android中实现视差滚动示例介绍

    大家好,本篇文章主要讲的是Android中实现视差滚动示例介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 利用Android实现光影流动特效的方法详解

    利用Android实现光影流动特效的方法详解

    Flutter 的画笔类 Paint 提供了很多图形绘制的配置属性,来供我们绘制更丰富多彩的图形。本篇我们引入一个 Paint 类新的属性:maskFilter,再结合之前的 shader 和动画,制作出光影流动特效,感兴趣的可以尝试一下
    2022-07-07
  • Kotlin编程循环控制示例详解

    Kotlin编程循环控制示例详解

    这篇文章主要为大家介绍了Kotlin编程循环控制示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Android实现TextView两端对齐的方法

    Android实现TextView两端对齐的方法

    这篇文章主要介绍了Android实现TextView两端对齐的方法,需要的朋友可以参考下
    2016-01-01
  • Android ListView实现下拉加载功能

    Android ListView实现下拉加载功能

    这篇文章主要为大家详细介绍了Android ListView实现下拉加载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Android开发使用自定义View将圆角矩形绘制在Canvas上的方法

    Android开发使用自定义View将圆角矩形绘制在Canvas上的方法

    这篇文章主要介绍了Android开发使用自定义View将圆角矩形绘制在Canvas上的方法,结合实例形式分析了Android自定义view绘制圆角矩形的相关方法与使用技巧,需要的朋友可以参考下
    2017-10-10
  • 详解Android6.0运行时权限管理

    详解Android6.0运行时权限管理

    自从Android6.0发布以来,在权限上做出了很大的变动,不再是之前的只要在manifest设置就可以任意获取权限,而是更加的注重用户的隐私和体验。本文详细介绍了Android6.0运行时权限管理。需要的朋友一起来看下吧
    2016-12-12
  • Android仿制淘宝滚动图文条的示例代码

    Android仿制淘宝滚动图文条的示例代码

    这篇文章主要介绍了Android仿制淘宝滚动图文条的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Android中SeekBar拖动条控件使用方法详解

    Android中SeekBar拖动条控件使用方法详解

    这篇文章主要介绍了Android中SeekBar拖动条控件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • android控件Spinner(下拉列表)的使用例子

    android控件Spinner(下拉列表)的使用例子

    这篇文章主要给大家介绍了关于android控件Spinner(下拉列表)的使用例子,在Android开发中下拉框(Spinner)是常用的UI控件之一,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11

最新评论