Android JSON数据解析
来源:互联网 发布:windows日志 u盘 编辑:程序博客网 时间:2024/06/02 00:41
1.什么是JSON
1.JSON:JavaScript Object Notation;
2.JSON数据是一系列键值对的集合;
3.JSON已经被大多数开发人员接受,在网络数据的传输当中应用非常广泛;
4.JSON相对于XML来讲解析稍微方便一些。
2.JSON数据格式的特点
JSON vs XML
1.JSON和XML的数据可读性基本相同;
2.JSON和XML同样拥有丰富的解析手段;
3.JSON相对于XML来讲,数据体积小;
4.JSON与JavaScript的交互更加方便;
5.JSON对数据的描述性相对较差。
一个JSON的例子
{
“name”:“Michael”, //这是JSON对象里的一个键值对 “name” 为键 “Michael” 为值
“address”: // “address” 为键值对的键 {······} 值又为一个JSON对象
{
“city”:“beijing”,
“street”:“ChaoyangRoad”,
“postcode”:“100025”
}
}
【】中括号代表一个JSON对象的数组,里面可以可以放入很多个的JSON对象
private String jsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Michael\",\"age\":21}]";
//创建一个JSON对象,name的值因为是String类型所以要带双引号,20因为是整形所以不用带双引号。
①开始解析数组 【
②开始解析对象 {
③解析键值对 \"name\"````````
④解析键值对 ,\"age\"``````````
⑤解析对象结束 }
⑥再开始解析对象 {
七.解析键值对 ···········
⑧解析键值对 ···········
⑨解析对象结束 ·········
十.解析数组结束 ············
3.使用Gson解析JSON数据
情况一
如果要解析一个JSON数据,首先需要生成一个JSONReader对象
JsonReader reader = new JsonReader (new StringReader(jsonData));
reader.beginArray();
情况二
private String jsonData = "{\"name\":\"Michael\",\"age\":20}";
```````````````````````````````````````````````
Gson gson = new Gson();
User user = gson.fromJson(jsonData,User.class); // jsonData 为JSON对象的数据数据 User.class 你要把前面的JSON对象数据转化为哪个类的对象,就把这个类的class对象放进来
Gson gson = new Gson();
LinkedList<User> users = gson.fromJson(jsonData,listType); //得到一个链表,这个链表内放置了从JSONDATA解析出来的USER对象。
for (Iterator iterator = users.iterator(); iterator.hasNext();){ // 通过迭代器把LinkedList<User>的数据取出来。
User user = (User) iterator.next();
System.out.println("name------->" + user.getName());
System.out.println("age--------->" + user.getAge());
}
- android---Json数据解析
- Android Json 数据解析
- Android解析json数据
- android解析json数据
- Android-解析json数据
- Android Json数据解析
- Android解析JSON数据
- Android解析Json数据
- Android json数据解析
- android解析json数据
- android解析JSON数据
- Android解析json数据
- android Json数据解析
- android JSON数据解析
- Android 解析 Json 数据
- Android JSON数据解析
- Android JSON数据解析
- Android json数据解析
- JZOJ 3366. 【NOI2012】随机数生成器
- 我的科研生活2017-2-9
- springmvc中RESTful的写法
- 聪明人的共性
- java反射技术
- Android JSON数据解析
- Python中遇到"UnicodeDecodeError: ‘gbk’ codec can’t decode bytes in position 2-3: illegal multibyte sequ
- Python大数据处理模块Pandas
- 开发中遇到的Error汇总
- 虚函数
- POJ2106 Boolean Expressions
- RecyclerView源码解析
- 面试题-华为(16年)-字符集合去重-5
- ADS仿真目标参数调谐与目标优化 ----tuner和goal控件使用