由於android SDK中提供的JsonReader在API level 3.0才支持,所以這裏採用google-gson提供的gson-2.0.jar來解析json數據.
gson-2.0.jar的下載地址爲: http://code.google.com/p/google-gson/downloads/list
1、JsonUtils.java源碼:
package com.android.hmr;
import java.io.IOException;
import java.io.StringReader;
import com.google.gson.stream.JsonReader;
public class JsonUtils {
public void parseJson(String jsonData){
JsonReader reader = new JsonReader(new StringReader(jsonData));
try {
reader.beginArray();
while(reader.hasNext()){
reader.beginObject();
while(reader.hasNext()){
String tagName = reader.nextName();
if(tagName.equals("name")){
System.out.println("name:" + reader.nextString());
}
else if(tagName.equals("age")){
System.out.println("age:" + reader.nextInt());
}
}
reader.endObject();
}
reader.endArray();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
2、JsonActivity.java 源碼:
package com.broadvision;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class JsonActivity extends Activity {
private Button btn = null;
private String jsonData = "[{\"name\":\"muran hu\",\"age\":20},{\"name\":\"congyu xiang\",\"age\":20}]";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(new btnOnClickListener());
}
private class btnOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
JsonUtils jsonUtils = new JsonUtils();
jsonUtils.parseJson(jsonData);
}
}
}
頁面佈局很是簡單,一個Button就搞定,所以這裏沒有貼出頁面佈局XML代碼,相信您一定會搞定滴!