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