本篇文章为大家展示了Android中如何进行数据解析及读取,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
数据解析及读取
网络传输中数据的组织方式:xml、json、http
(1)xml:可扩展标记语言
特点:保存少量数据,可跨平台
解析方式:sax、dom、pull
a. sax解析:
特点:速度快,占用内存少。事件驱动,不会一次性把所有内容加载到内存中。
startElement:元素节点开始
localName:不带前缀的标签名
qName:带前缀的标签名
attributes:节点内的属性和值
<student id ="1">
<name>小明</name>
</student>
(2)dom解析:
特点:一次性把所有内容加载到内存中
使用于服务端编程
(3)pull解析:
特点:类似于sax,不会自动读取
适用于移动设备,占用内存少
json解析
特点:相对xml,更加节省空间
(1)json对象:{"key1":"value1","key2":"value2"}
a. 以{}开始和结束
b. key必须是字符串,value可以是基础数据类型、String、json对象、json数组
c. 每条数据以逗号分隔
例子:
{"name":"小明","age":25,"married":"true"}
(2)json的解析
//根据传入的字符串,得到JSONObject类型对象
JSONObject jsonObject = new JSONObject(str);
//根据key,获取对应的数据
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
boolean b = jsonObject.getBoolean("married")
//向jsonOnject中传入数据
jsonObject.put("name","小红");
jsonObject.put("age",20);
jsonObject.put("married","false");
(3)JSONArray json数组
a. 以[]开始和结束
b. 每一条数据都是一个jsonObject
c. 每条数据以逗号分隔
例子:
[{"name":"小明","age":25,"sex":"male"},{"name":"小红","age":23,"sex":"female"}]
解析一条JSONArray 格式的数据
//根据传入的字符串得到一个JSONArray 类型的对象
JSONArray jsonArray = new JSONArray (str);
for(int i=0; i<jsonArray.length;i++){
//根据下标得到JSONObject对象
JSONObject jsonObject = jsonArray.getJSONObject(i);
//根据key值得到对应的数据
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
String sex = jsonObject.getString("sex");
}
//向JSONArray 中传入数据
JSONArray jsonArray = new JSONArray();
JSONObject jsonObject1 = new JSONObject();
JSONObject jsonObject2 = new JSONObject();
jsonObject1.put("name","小黑");
jsonObject2.put("name","小白");
jsonArray.put(jsonObject1);
jsonArray.put(jsonObject2);
上述内容就是Android中如何进行数据解析及读取,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。