实现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();
}
}
}