android原生JSON解析实例
我们在android项目开发的时候,经常要对JSON进行解析,很多朋友在寻找相关的实例,小编整理详细的相关分析说明,一起来看下。
JSONObject:JSON数据封装对象
JSONArray:JSON数据封装数组
Bean:
packagenet.bwie.jsonobject; importjava.util.List; publicclassShoppingBean{ privateStringmsg; privateInfoBeaninfo; publicStringgetMsg(){ returnmsg; } publicvoidsetMsg(Stringmsg){ this.msg=msg; } publicInfoBeangetInfo(){ returninfo; } publicvoidsetInfo(InfoBeaninfo){ this.info=info; } @Override publicStringtoString(){ return"ShoppingBean{"+ "msg='"+msg+'\''+ ",info="+info+ '}'; } publicstaticclassInfoBean{ privateintcat_id; privateListgood; privatebooleanurl; publicintgetCat_id(){ returncat_id; } publicvoidsetCat_id(intcat_id){ this.cat_id=cat_id; } publicList getGood(){ returngood; } publicvoidsetGood(List good){ this.good=good; } publicbooleanisUrl(){ returnurl; } publicvoidsetUrl(booleanurl){ this.url=url; } @Override publicStringtoString(){ return"InfoBean{"+ "cat_id="+cat_id+ ",good="+good+ ",url="+url+ '}'; } publicstaticclassGoodsBean{ privatelongadd_time; privateStringcolorcode; privateStringcurrency_price; privateStringdescription; privateStringgoods_id; privateStringgoods_name; privateStringthumb; publiclonggetAdd_time(){ returnadd_time; } publicvoidsetAdd_time(longadd_time){ this.add_time=add_time; } publicStringgetColorcode(){ returncolorcode; } publicvoidsetColorcode(Stringcolorcode){ this.colorcode=colorcode; } publicStringgetCurrency_price(){ returncurrency_price; } publicvoidsetCurrency_price(Stringcurrency_price){ this.currency_price=currency_price; } publicStringgetDescription(){ returndescription; } publicvoidsetDescription(Stringdescription){ this.description=description; } publicStringgetGoods_id(){ returngoods_id; } publicvoidsetGoods_id(Stringgoods_id){ this.goods_id=goods_id; } publicStringgetGoods_name(){ returngoods_name; } publicvoidsetGoods_name(Stringgoods_name){ this.goods_name=goods_name; } publicStringgetThumb(){ returnthumb; } publicvoidsetThumb(Stringthumb){ this.thumb=thumb; } @Override publicStringtoString(){ return"GoodsBean{"+ "add_time="+add_time+ ",colorcode='"+colorcode+'\''+ ",currency_price='"+currency_price+'\''+ ",description='"+description+'\''+ ",goods_id='"+goods_id+'\''+ ",goods_name='"+goods_name+'\''+ ",thumb='"+thumb+'\''+ '}'; } } } }
Activity:
/** *1、将json文件存在外部存储中,使用IO流读取文件中的数据 *2、使用JSONObject解析读取出来的数据 */ publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener{ privateStringmJson=""; protectedButtonmReadFileBtn; protectedButtonmParseBtn; protectedTextViewmResultTv; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); super.setContentView(R.layout.activity_main); initView(); } @Override publicvoidonClick(Viewview){ if(view.getId()==R.id.read_file_btn){ readFile(); }elseif(view.getId()==R.id.parse_btn){ ShoppingBeanshopping=parseJson(); Log.d("1507",""+shopping); } } //解析JSON数据 //遇到{}就创建JSONObject,遇到[]就创建JSONArray privateShoppingBeanparseJson(){ ShoppingBeanshopping=null; try{ JSONObjectrootObject=newJSONObject(mJson); shopping=newShoppingBean(); Stringmsg=rootObject.getString("msg"); shopping.setMsg(msg); JSONObjectinfoObject=rootObject.getJSONObject("info"); ShoppingBean.InfoBeaninfo=newShoppingBean.InfoBean(); shopping.setInfo(info); intcatId=infoObject.getInt("cat_id"); info.setCat_id(catId); booleanurl=infoObject.getBoolean("url"); info.setUrl(url); JSONArraygoodsArray=infoObject.getJSONArray("goods"); ListgoodsList=newArrayList<>(); info.setGood(goodsList); for(inti=0;i 权限:
如果上面说的还有不明白的,大家可以在下方留言讨论。