本文来自
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(); } }
}