应用中我导入了一个包
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。
下载地址:我的资源里面
http://download.csdn.net/detail/rwyz1314/3597488
主要代码
package rw.json1;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.stream.JsonReader;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Adapter;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListAdapter;
import android.widget.ListView;
public class json1Activity extends Activity {
private List<String> list=new ArrayList<String>();
//架设服务器的JSOn数据室乳腺的
private String jsonData = "[{\"id\":\"2009081315\",\"name\":\"饶伟\",\"speciality\":\"计算机科学与技术\",\"qq\":812200157}," +
"{\"id\":\"2009081316\",\"name\":\"小伟\",\"speciality\":\"软件工程\",\"qq\":321836987}" +
"{\"id\":\"2009081315\",\"name\":\"伟哥\",\"speciality\":\"网络工程\",\"qq\":270046452}]";
private Button button ;
private ListView listView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button=(Button)findViewById(R.id.button);
listView=(ListView)findViewById(R.id.listView1);
button.setOnClickListener(new MyButtonListener());
}
class MyButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
parseJson();
Adapter adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, list);
listView.setAdapter((ListAdapter) adapter);
}
}
public List<String> parseJson() {
try {
JsonReader reader=new JsonReader(new StringReader(jsonData));
reader.beginArray();
while (reader.hasNext()) {
reader.beginObject();
while (reader.hasNext()) {
String tagString=reader.nextName();
String string ="";
if (tagString.equals("id")) {
string="学号:"+reader.nextLong();
}
else if (tagString.equals("name")) {
string="姓名:"+reader.nextString();
}
else if (tagString.equals("speciality")) {
string="专业:"+reader.nextString();
}
else if (tagString.equals("qq")) {
string="QQ:"+reader.nextLong();
}
list.add(string);
}
reader.endObject();
}
reader.endArray();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return list;
}
}
结果如下图