JAVA解析嵌套的JSON字符串.

这里的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")); } 

 

你可能感兴趣的:(java,json,object,String,user,basic)