由于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代码,相信您一定会搞定滴!