这篇文章将为大家详细讲解有关如何在Android应用中对json数据进行解析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
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(和上面方法的区别是返回值是不一样的)
关于如何在Android应用中对json数据进行解析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。