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 {
/*http://www.huiyi8.com/vi/
* 解析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
"\"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();
}
}
}