使用android解析json数据:
json是一种特定的数据格式,其实就是一些键值对的组合,这里简单定义一个json的数组:
private String jsonData = "[{\"name\":\"bao\", \"age\":12}, {\"name\":\"Allen\", \"age\":23}]";
对这个json数据进行解析:
import java.io.IOException;
import java.io.StringReader;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.util.JsonReader;
public class JsonUtils {
public void parserJson(String jsonData) {
try {
JsonReader reader = new JsonReader(new StringReader(jsonData));
reader.beginArray();
while(reader.hasNext()) {
reader.beginObject();
while (reader.hasNext()) {
String name = reader.nextName();
if(name.equals("name")) {
System.out.println("name --> " + reader.nextString());
} else if (name.equals("age")) {
System.out.println("age --> " + reader.nextInt());
}
}
reader.endObject();
}
reader.endArray();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void parserJson2(String jsonData) {
try {
JSONArray json = new JSONArray(jsonData);
for(int i = 0; i < json.length(); i++) {
String objectStr = json.getString(i);
System.out.println(objectStr);
JSONObject jsonObject = json.getJSONObject(i);
System.out.println("name : " + jsonObject.getString("name"));
System.out.println("age : " + jsonObject.getInt("age"));
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}