1.MainActivity.java
package com.json; import java.io.IOException;
import java.io.StringReader; import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.util.JsonReader;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button; public class MainActivity extends Activity { private String jsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]";
private Button button ; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button)findViewById(R.id.buttonId);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
JsonUtils jsonUtils = new JsonUtils();
jsonUtils.parseJson(jsonData);
}
});
} class JsonUtils {
@SuppressLint("NewApi")
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();
if(tagName.equals("name")) {
System.out.println("name-->" + reader.nextString());
}
else if(tagName.equals("age")) {
System.out.println("age--->" + reader.nextInt());
}
}
reader.endObject();
}
reader.endArray();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}