博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android学习笔记 --------- json数据的解析
阅读量:6813 次
发布时间:2019-06-26

本文共 1903 字,大约阅读时间需要 6 分钟。

习安卓一段时间了。突然觉得前面所学的大多没什么用,现在开始重新整理一遍。现在主要学习和网络相关的安卓知识了。毕竟现在的安卓应用,大多都跟做网络客户端有关的。
这是学习笔记整理的第一篇,记录下Json数据解析,用的gson包。
json就是键值对的集合。
Android一般运用到json解析的地方都是应用通过http向服务器请求信息后,服务器返回json数据,Android将其中的每个json对象解析成相应的Bean对象,如下面的json数据:

[{"name":"zhangsan","age":20},["name":"lisi","age":19]]

此为一个json数组,里面包含两个人的对象。
我们解析便是把两个对象提取出来:

1、在android工程里生成一个Person类,person类的成员有name和age,对于json数据里面的对象。

2、写一个json解析的类,直接返回一个List对象,包含解析好的两个person对象,类的构建如下:

1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334353637383940
package com.example.jsontest2;import java.io.IOException;import java.io.StringReader;import java.util.ArrayList;import java.util.List;import com.google.gson.stream.JsonReader;public class JsonUtils {
private List
persons = null; private Person person = null; public List
getPersons(String jsonData){
try {
JsonReader reader = new JsonReader(new StringReader(jsonData)); reader.beginArray(); persons = new ArrayList
(); while (reader.hasNext()) {
reader.beginObject(); person = new Person(); while(reader.hasNext()){
String tagName = reader.nextName(); if (tagName.equals("name")) {
person.setName(reader.nextString()); }else if(tagName.equals("age")){
person.setAge(reader.nextInt()); } } reader.endObject(); persons.add(person); } reader.endArray(); } catch (IOException e) {
// TODO Auto-generated catch block e.printStackTrace(); } return persons; }}

在需要时调用JsonUtils的getPersons方法即可。这当然是比较简单的一种json数据解析。。

转载地址:http://xamwl.baihongyu.com/

你可能感兴趣的文章
x=n; y=1; while(x>=(y−1)∗(y−1)) y++; 以上程序的时间复杂度为 ?
查看>>
A joke about regular expression
查看>>
【UIKit】UITableView 5
查看>>
常用颜色代码
查看>>
python学习笔记
查看>>
布局修改就保存
查看>>
Android 虚拟机快捷键
查看>>
前端性能优化--图片懒加载(lazyload image)
查看>>
ubuntu下IP、DNS配置
查看>>
linux下order by 报出ORDER BY clause is not in SELECT list
查看>>
CentOS 7设置开机启动服务,添加自定义系统服务
查看>>
《让人无法说 NO的攻心说话术》摘要
查看>>
db2 reorg(转)
查看>>
1032 Sharing
查看>>
symbolicatecrash App Bug 分析工具
查看>>
深入浅出Hadoop: 高效处理大数据
查看>>
云南满泽生物科技有限公司 满泽玛卡玛咖精片 东革阿里 奶昔
查看>>
转载——yum源的超级简单配置
查看>>
POJ 2135Farm Tour--MCMF
查看>>
【转帖】MATLAB中用FDATool设计滤波器及使用
查看>>