您的位置:首页 > Web前端 > JavaScript

Json 数据格式的解析

2016-08-17 10:23 453 查看
Json 格式的数据形式存在两种:Json 对象和Json 数组

Json对象的解析

Json对象的格式通常为{"name":"最后一个夏天","singer":"金莎","mp3":"music/金莎 - 最后一个夏天.mp3"},以大括弧“{}”为标志的Json 是无序的对象,客户端的解析比较容易,假设从服务端返回的Json数据为JsonData,如果需要获取到键名为“singer”的响应键值。

基本解析代码如下:

JSONObject jobject = array.getJSONObject(JsonData);
singer =jobject.getString("singer");


Json数组解析

多个Json对象构成一个Json数组,Json 数组以“[]”为标志,数组形式如下:

[{"name":"最后一个夏天","singer":"金莎","mp3":"music/金莎 - 最后一个夏天.mp3"},

{"name":"请跟我联络","singer":"李易峰","mp3":"music/李易峰 - 请跟我联络.mp3"},

{"name":"绿袖子","singer":"理查德.克莱德曼","mp3":"music/理查德.克莱德曼 - 绿袖子.mp3"},

{"name":"不再联系","singer":"夏天Alex ","mp3":"music/夏天Alex - 不再联系.mp3"},

{"name":"演员","singer":"薛之谦","mp3":"music/薛之谦 - 演员.mp3"}]

上面的数据是一个数组形式,使用Android 提供的框架JSONArray读取数据,然后再转换成Array。

基本解析代码如下:

JSONArray array = new JSONArray(result);
//JSONArray array = obj.getJSONArray("");
mMusics = new ArrayList<MusicModel>();
MusicModel musicmodel;
for(int i=0;i<array.length();i++)
{
musicmodel = new MusicModel();
JSONObject jobject = array.getJSONObject(i);
musicmodel.setTitle(jobject.getString("name"));
musicmodel.setPath(jobject.getString("mp3"));
musicmodel.setSinger(jobject.getString("singer"));
mMusics.add(musicmodel);
}
json 数组中包含json对象,所以在数组解析过程中还是使用的对象解析,只是在对象解析中间在进行累积。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: