这里的JSON串,是以饭否的Public Time Line上面的JSON格式的字符串为例子的.
http://api.fanfou.com/statuses/public_timeline.json
饭否现在还是使用HTTP Basic验证. 如果你不清楚,通过饭否的api登录并获取数据的方法, 可以参见本人的
http://blog.csdn.net/w59879213/archive/2011/01/14/6140523.aspx
这篇文章,以饭否的API为例子, 讲述了如何进行HTTP Basic验证,并获取回数据.
这里的项目前提是, 已经获取到了数据, 数据的字符串是 json
Android开发的环境中已经包括了org.json的包,
但是,如果是单纯创建的JAVA项目,可能并不存在org.json这个包. 可以搜索json.jar这个文件, 右键,你的JRE System Library->Build Path, 添加到你的项目中就可以了.
在文件头上加上
import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject;
解析的步骤其实也很简单.
首先通过JSONArray的对象获得全部的数据的数组,
JSONArray array = new JSONArray(json);
饭否的例子, 就是所有发言的信息. 但是饭否的每一条发言的信息中, 都嵌套一个用户信息的JSON的字符串.
所以在取得每一条的发言的信息的时候, 需要再取一次这个以user为标记的JSON字符串.
JSONObject object = array.getJSONObject(i); //获取嵌套的JSON串 String users = object.getString("user"); //将获取的嵌套的JSON串,再解释一次, 得到可使用的对象. JSONObject user = new JSONObject(users);
解析过后, 就可以使用对象的getString("key")的方法来获取对应的值了~
全部的代码如下:
//获得全部的JSON串. JSONArray array = new JSONArray(json); for(int i=0;i<array.length();i++) { /*通过列表获得出第一条记录的列表,包含了信息的id,发送者... 其中该列表中嵌套着另一个JSON串*/ JSONObject object = array.getJSONObject(i); //获取嵌套的JSON串 String users = object.getString("user"); //将获取的嵌套的JSON串,再解释一次, 得到可使用的对象. JSONObject user = new JSONObject(users); System.out.println(object.getString("id")+ ":" + user.getString("birthday")); }