Android(安卓)解析Json
16lz
2021-01-26
应用中我导入了一个包
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{@Overridepublic void onClick(View v) {// TODO Auto-generated method stubparseJson(); 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; }}
结果如下图
更多相关文章
- 一句话锁定MySQL数据占用元凶
- Android中的5种数据存储方式之——SharedPreferences
- Android项目开发技术总结 by wellsoho
- Android学习笔记——网络技术
- Android--SQLite数据库应用技巧分享
- Android(安卓)Fragment---管理Fragment
- Java(Android)数据结构汇总(四)-- Map(上)
- Android(安卓)不明确key时遍历JSONObject
- Android-你所不知道的context