標籤:android json http
本文來自http://tonysun3544.iteye.com/category/188238
package com.tony.json;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class JsonActivity extends Activity {
/* Called when the activity is first created. /
private String jsonData = "[{\"name\":\"zhangsan\",\"age\":22},{\"name\":\"lisi\",\"age\":23}]"; private Button jsonButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); jsonButton = (Button) findViewById(R.id.json_button); jsonButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { JsonUtils jsonUtils = new JsonUtils(); jsonUtils.parseJson(jsonData); } }); }
}
這個類中主要是解析json數組:
Java代碼 收藏代碼
package com.tony.json;
import java.io.IOException;
import java.io.StringReader;
import android.util.Log;
import com.google.gson.stream.JsonReader;
public class JsonUtils {
private static final String TAG = “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(); // 得到索引值對中的key if (tagName.equals("name")) { // key為name時 Log.i(TAG, "name--------->" + reader.nextString()); // 得到key中的內容 }else if (tagName.equals("age")) { // key為age時 Log.i(TAG, "age--------->" + reader.nextInt()); // 得到key中的內容 } } reader.endObject(); } reader.endArray(); } catch (IOException e) { e.printStackTrace(); } }
}
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
android 中解析json格式資料