源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-02-19 13:07 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android解析json数据示例代码(三种方式)
Json数据
[url=http://www.json.cn/]http://www.json.cn/[/url] 三种解析方式android自带解析,Gson解析,FastJson解析 [b]1、android自带解析[/b]
 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。 [b]2、Gson解析[/b]
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。 [b]3、FastJson[/b]
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使用起来还是很方便的。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部