网络下载的数据主要有两种格式XML和JSON,但是这两种数据格式都有自己的格式符,解析数据就是从这两种格式的数据中取出我们需要的数据,去掉格式符。本文记录了两种常用JSON解析方法:
XML数据解析方法:http://blog.csdn.net/q296264785/article/details/53897107
JSON数据解析之 JSONObject 解析:
vate void withJSONObject(String jsonData) {
try {
//创建JSONArray实例
JSONArray jsonArray = new JSONArray(jsonData);
//遍历数组
for (int i = 0; i < jsonArray.length(); i++) {
//获取取出元素
JSONObject jsonObject = jsonArray.getJSONObject(i);
//取出内容
String id = jsonObject.getString("id");
String name = jsonObject.getString("name");
String version = jsonObject.getString("version");
Log.d("MainActivity", "id is " + id);
Log.d("MainActivity", "name is " + name);
Log.d("MainActivity", "version is " + version);
}
} catch (JSONException e) {
e.printStackTrace();
}
JSON数据解析之 GSON 解析:
GSON 解析需要添加依赖库:
compile 'com.google.code.gson:gson:2.7'
先创建一个类,类中包含解析对象节点作为字段并且提供get set方法
public class App {
private String id;
private String name;
private String version;
public String getId() {// ALT + Insert 添加get set 方法
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
}
将需要的数据传入
private void withJSONGSON(String JSONData){
Gson gson = new Gson();
List<App> appList = gson.fromJson(JSONData,new TypeToken<List<App>>(){}.getType());
for(App app : appList){//遍历List 打印数据
Log.d("MainActivity", "id is " + app.getId());
Log.d("MainActivity", "name is " + app.getName());
Log.d("MainActivity", "version is " + app.getVersion());
}
}