JSONObject和JSONArray获取值主要基于key值,使用get (或getJSONObject方法很容易
让我举几个例子。 请参考代码
publicclassmainactivityextendsappcompatactivity { string data1=' {' age' :' 23', ' hobby' 33333652365306; '游戏'},{' name' 3360' www string data=' {n '' home' : {n '' name' 3336523365306; ' :{n''name':'华为研发中心\n' ':3126255, n '' LNG' :12163020n ' @ overrideprotectedvoidoncreate (bundlesavedinstancestate ) super.oncreate ) savedinstancestate; setcontentview (r.layout.activity _ main; try { jsonobjectjsonobject1=newjsonobject (data1 ); objectage=JSONobject1.get('age ); object hobby=JSON object1. get (' hobby ); object name=JSON object1. get (' name ); log.e(----data1 ),'年龄=' age '爱好=' hobby '姓名=' name ); }catch(JSONexceptione ) { e.printStackTrace ); try { jsonarrayjsonarray=newjsonarray (data2); Log.e('--------jsonArray ',jsonArray ' ); jsonobjectobjectage=JSON array.getjsonobject (0; jsonobjectobjecthobby=JSON array.getjsonobject (1; jsonobjectobjectname=JSON array.getjsonobject (2; objectage=objectage.get('age ); object hobby=object hobby.get (' hobby ); object name=object name.get (' name ); Log.e('--------jsonArray_con,'年龄=' age '爱好=' hobby '姓名=' name; }catch(JSONexceptione ) { e.printStackTrace ); } try { jsonobjectjsonobject=newjsonobject (data ); jsonobjecthomeobj=JSON object.getjsonobject (' home ); stringhomename=string.value of (home obj.get (' name ) ); stringhomeadress=string.value of (home obj.get (' address ' ); stringhomelat=string.value of (home obj.get ) ) lat ); stringhomelng=string.value of (home obj.get (' LNG ' ); log.e(----home )、' home name=' home name ' home adress=' home lat=' home lat ' home LNG ) ) jsonobjectch string company name=string.value of (company obj.get (' name ); stringcompanyaddress=string.value of (home obj.get (' address ' ); stringcompanylat=string.value of (home obj.get ) ) lat ); stringcompanylng=string.value of (home obj.get (' LNG ' ); log.e ('------公司','公司名称='公司名称'公司地址='公司地址lat='公司地址}}打印的log
如果想动态获取key和value,请参考以前写的内容
json动态获取key和value