Android解析Json


アプリケーションにパッケージをインポートしました
GsonはGoogleが提供するJavaオブジェクトとJSONデータのマッピング用のJavaクラスライブラリです.JSON文字列をJavaオブジェクトに変換するか、逆にすることができます.
ダウンロードアドレス:私のリソース
http://download.csdn.net/detail/rwyz1314/3597488
Android 解析Json_第1张图片
プライマリコード
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;
    }
}

結果は下図のようです
Android 解析Json_第2张图片