Ace教你一步一步做Android新闻客户端(三) JSON数据解析

对于服务器端来说,返回给客户端的数据格式一般分为html、xml和json这三种格式,现在给大家讲解一下json这个知识点,

1 如何通过json-lib和gson这两个json解析库来对解析我们的json数据,

2 以及如何在我们的Android客户端解析来自服务器端的json数据,并更新到UI当中。(下篇来讲)

一、什么是json

json(Javascript Object Notation)是一种轻量级的数据交换格式,相比于xml这种数据交换格式来说,因为解析xml比较的复杂,而且需要编写大段的代码,所以客户端和服务器的数据交换格式往往通过json来进行交换。尤其是对于web开发来说,json数据格式在客户端直接可以通过javascript来进行解析。

json一共有两种数据结构,一种是以 (key/value)对形式存在的无序的jsonObject对象,一个对象以“{”(左花括号)开始,“}”(右花括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

例如:{"name": "xiaoluo"}, 这就是一个最简单的json对象,对于这种数据格式,key值必须要是string类型,而对于value,则可以是string、number、object、array等数据类型:

另一种数据格式就是有序的value的集合,这种形式被称为是jsonArray,数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

更多的有关json数据格式可以参加json的官网,http://www.json.org/json-zh.html,咱们主要讲的是如何解析服务器发过来的数据

现在贴上一个API接口  大家可以拿来用 

http://www.imooc.com/api/teacher?type=4&num=30

感谢慕课网 慕课网真的是个炒鸡棒的网站,初级中级高级教程都有(好的东西当然要安利咯!)我听过传智 heima 青鸟的课 讲的很快 而且内容很多,多而不专,所以阿冰再这里再安利一下;

然后chrome 可以安装插件JSON-XX 没有的话百度搜索 JSON在线解析 把网站解析下就可以看见清晰的结构是个


{"data":[{"id":1,
            "name":"Tony老师聊shell——环境变量配置文件",
            "picSmall":"http://img.mukewang.com/55237dcc0001128c06000338-300-170.jpg",
            "picBig":"http://img.mukewang.com/55237dcc0001128c06000338.jpg",
            "description":"为你带来shell中的环境变量配置文件",
            "learner":12312
},{},{},{},{},{}]


从上面的小科普知道 这是个JSONArray

下面等晚上吃完饭写












原文地址:https://www.cnblogs.com/AceIsSunshineRain/p/5148846.html