Android网络数据解析——JSON
2018-03-17 18:54
232 查看
在上面文章中,主要介绍了xml文件的解析,具体内容参见:
点击打开链接
这篇文章主要介绍JSON中文件的解析方法。
JSON文件格式如下:[
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName":"Carter"}
]一.使用JSONObject解析。
首先,将json数据保存到JSONArray中,然后遍历这个JSONArray,取出每一个jsonObject的对象。再取出每个jsonObject的key与value,用log打印出来即可。
二.使用GSON解析。使用GSON(google提供的开源库)可以使解析更加的简单。
2.1添加依赖到app/build.gradle中
private String name;
private int age;
private String country;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
}2.3调用gson对象来解析。
List<Person> person = gson.fromJson(data,new TypeToken<List<Person>>(){}.getType());我们需要借助TypeToken,将解析后的数据放入到List<Person>中。
关于网络数据xml与json的解析已经全部完毕!
点击打开链接
这篇文章主要介绍JSON中文件的解析方法。
JSON文件格式如下:[
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName":"Carter"}
]一.使用JSONObject解析。
public void pareseJSONWithJSONObject(String data){ try { JSONArray jsonArray = new JSONArray(data); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); Iterator iterator = jsonObject.keys(); while (iterator.hasNext()){ String key = (String) iterator.next(); String value = jsonObject.getString(key); Log.e("Mylog","key: " + key + ", value:" + value); } } } catch (JSONException e) { e.printStackTrace(); } }同样,上述方法中,传入的data是json格式的字符串。
首先,将json数据保存到JSONArray中,然后遍历这个JSONArray,取出每一个jsonObject的对象。再取出每个jsonObject的key与value,用log打印出来即可。
二.使用GSON解析。使用GSON(google提供的开源库)可以使解析更加的简单。
2.1添加依赖到app/build.gradle中
dependencies { compile 'com.google.code.gson:gson:2.8' }2.2将JSON格式的字符串映射为一个对象。比如一段JSON格式的数据:{"name" : "YuanYQ" , "age": "25","country" : "China"}就可以定义一个Person类,然后加入name,age,country三个字段。public class Person {
private String name;
private int age;
private String country;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
}2.3调用gson对象来解析。
Gson gson = new Gson(); Person person = gson.fromJson(data,Person.class);不过上面是一个json对象的解析,如果是json数组的话,就用:Gson gson = new Gson();
List<Person> person = gson.fromJson(data,new TypeToken<List<Person>>(){}.getType());我们需要借助TypeToken,将解析后的数据放入到List<Person>中。
关于网络数据xml与json的解析已经全部完毕!
相关文章推荐
- 【Android网络开发の4】解析和生成JSON数据
- Android访问网络:服务端返回XML或JSON格式数据,Android 进行解析并使用ListView显示
- Android中级之网络数据解析一之Json解析
- android解析网络json数据(1)
- Android中级之网络数据解析一之Json解析
- 【Android网络开发の4】解析和生成JSON数据
- android解析JSON,XML数据的请求网络工具类
- java,android中网络数据获取和json解析
- Android网络通讯——JSON,GSON解析网络数据
- Android网络开发中如何使用JSON进行网络通信---Android JSON数据通讯方法解析
- android解析网络json数据(1)
- android 解析网络xml数据,发送xml数据,解析json数据
- Android 之 网络访问服务器,解析JSON数据(返回无乱码)
- Android网络之数据解析----使用Google Gson解析Json数据
- Android访问网络系列之--服务端返回XML或JSON格式数据,Android 进行解析并显示
- 【Android网络开发の4】解析和生成JSON数据
- android JSON与XmlPullParse解析网络连接数据
- android:通过url向网络端获取json格式数据并解析显示
- Android:真机网络编程、搭建apache服务器、解析JSON数据
- Android访问网络系列之--服务端返回XML或JSON格式数据,Android 进行解析并显示