Android解析json数据示例代码(三种方式)
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(newView.OnClickListener(){ @Override publicvoidonClick(Viewv){ Strings=getString(); Log.d("txt",s); Listlist=newArrayList (); try{ JSONArrayobj=newJSONArray(s); for(inti=0;i 先获取JSON数组,在解析JsonObject。
2、Gson解析
Gson_btn.setOnClickListener(newView.OnClickListener(){ @Override publicvoidonClick(Viewv){ Strings=getString(); JsonParserparser=newJsonParser(); JsonArrayjsonArray=parser.parse(s).getAsJsonArray(); Gsongson=newGson(); for(JsonElementobj:jsonArray){ Citycity=gson.fromJson(obj,City.class); Log.d("txt",city.toString()); textView.append(city.toString()); } } });先获取Json数组,再解析jsonObject。
3、FastJson
fastjson_btn.setOnClickListener(newView.OnClickListener(){ @Override publicvoidonClick(Viewv){ Strings=getString(); Log.d("txt",s); Listlists=JSON.parseArray(s,City.class); for(Citycity:lists){ textView.append(city.toString()); Log.d("txt",city.toString()); } } }); 直接获取JsonArray解析List
。 publicstaticfinalObjectparse(Stringtext);//把JSON文本parse为JSONObject或者JSONArray publicstaticfinalJSONObjectparseObject(Stringtext);//把JSON文本parse成JSONObject publicstaticfinalTparseObject(Stringtext,Class clazz);//把JSON文本parse为JavaBean publicstaticfinalJSONArrayparseArray(Stringtext);//把JSON文本parse成JSONArray publicstaticfinal List parseArray(Stringtext,Class clazz);//把JSON文本parse成JavaBean集合 publicstaticfinalStringtoJSONString(Objectobject);//将JavaBean序列化为JSON文本 publicstaticfinalStringtoJSONString(Objectobject,booleanprettyFormat);//将JavaBean序列化为带格式的JSON文本 publicstaticfinalObjecttoJSON(ObjectjavaObject);将JavaBean转换为JSONObject或者JSONArray(和上面方法的区别是返回值是不一样的)
三种解析方法,个人感觉fastjson使用起来还是很方便的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。