实现android上解析Json格式数据功能,该源码转载于安卓教程网的,http://android.662p.com ,个人感觉还不错的,大家可以看看一下吧。
package com.practice.json; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class JsonDemo extends Activity { /* * 解析JSON的例子,str保存的是JSON代码,解析后的数据在LogCat里输出 */ String TAG = "Json message"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); detectJSON(); } private void detectJSON() { String str = "{"+ ""日期" : "2011-06-06","+ //Like 是 JSONObject ""Like" : {"+ ""Name" : "加内特","+ ""Height" : "2.11cm","+ ""Age" : 35"+ "},"+ //LikeList 就是一个 JSONObject ""LikeList":" + "{"List": " + "["+ //这里也是JSONObject "{"+ ""Name" : "Rose","+ ""Height" : "190cm","+ ""Age" : 23"+ "},"+ //这里也是JSONObject "{"+ ""Name" : "科比","+ ""Height" : "198cm","+ ""Age" : 33"+ "}"+ "]"+ "}"+ "}"; try { JSONObject dataJson = new JSONObject(str); Log.d(TAG, dataJson.getString("日期")); JSONObject nbaJson = dataJson.getJSONObject("Like"); Log.d(TAG, nbaJson.getString("Name")); Log.d(TAG, nbaJson.getString("Height")); Log.d(TAG, nbaJson.get("Age").toString()); JSONObject listJson = dataJson.getJSONObject("LikeList"); JSONArray arrayJson = listJson.getJSONArray("List"); for(int i=0;i<arrayJson.length();i++) { JSONObject tempJson = arrayJson.optJSONObject(i); Log.d(TAG, tempJson.getString("Name")); Log.d(TAG, tempJson.getString("Height")); Log.d(TAG, tempJson.getString("Age").toString()); } } catch (JSONException e) { System.out.println("Something wrong..."); e.printStackTrace(); } } }