JSON

对比分析json及XML【站长博客网】(10)

字号+ 作者:H5之家 来源:H5之家 2017-05-12 13:06 我要评论( )

private ArrayListVideoConstant parseVideoAlbumJsonObject(JSONObject albumJSONObject, ArrayListInteger albumIdJSONArrayList) { MyLog.d(TAG, "parseVideoAlbumJsonObject, length=" + albumJSONObject.lengt


private ArrayList<VideoConstant> parseVideoAlbumJsonObject(JSONObject albumJSONObject,  ArrayList<Integer> albumIdJSONArrayList) {
    MyLog.d(TAG, "parseVideoAlbumJsonObject, length=" + albumJSONObject.length());
    if (albumJSONObject.length() < 1) {
        return null;
    }
    ArrayList<VideoConstant> videos = new ArrayList<VideoConstant>();
    try {
        for (int index = 0; index < albumJSONObject.length(); index++) {
            VideoConstant video = new VideoConstant();
            JSONObject itemJsonObject;
            itemJsonObject = albumJSONObject.getJSONObject(albumIdJSONArrayList.get(index)
                    .toString());
            MyLog.d(TAG, "string=" + albumIdJSONArrayList.get(index).toString());
            video.mAlbumId = itemJsonObject.optString(InterfaceParameterName.ID);
            video.mAtitle = itemJsonObject.optString(InterfaceParameterName.TITLE);
            video.mEpisodeCount = itemJsonObject.optString(InterfaceParameterName.UPDATE_SET);
            video.mTvSets = itemJsonObject.optString(InterfaceParameterName.TV_SETS);
            video.mDesc = itemJsonObject.optString(InterfaceParameterName.DESCRIPTION);
            video.mCid = itemJsonObject.optString(InterfaceParameterName.CATEGORY_ID);
            video.mImg = itemJsonObject.optString(InterfaceParameterName.IMG);
            video.mHighimg = itemJsonObject
                    .optString(InterfaceParameterName.HIGH_RESO_PORT_IMG);
            video.mHoriImg = itemJsonObject
                    .optString(InterfaceParameterName.HIGH_RESO_HORI_IMG);
            video.mScore = itemJsonObject.optString(InterfaceParameterName.SCORE);
            video.mMainActors = itemJsonObject.optString(InterfaceParameterName.MAIN_ACTOR);
            video.mCreateTime = itemJsonObject.optString(InterfaceParameterName.CREATE_TIME);
            video.mDuration = itemJsonObject.optString(InterfaceParameterName.DURATION);
            video.mTag = itemJsonObject.optString(InterfaceParameterName.TAG);
            MyLog.d(TAG, "id=" + video.mAlbumId + ",title=" + video.mAlbumTitle + ",img="
                    + video.mHighimg + ",tvsets=" + video.mTvSets);
            videos.add(video);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
    return videos;
}

  <4>. Android JSON解析库

  上面介绍都是使用Android提供的原生类解析JSON,最大的好处是项目不需要引入第三方库,但是如果比较注重开发效率而且不在意应用大小增加几百K的话,有以下JSON可供选择:

Jackson
google-gson
Json-lib

  大家可以去对应的官网下载并学习:)

 三、 JSON vs. XML

  JSON和XML就像武林界的屠龙刀和倚天剑,那么他们孰强孰弱?

  XML长期执数据传输界之牛耳,而JSON作为后起之秀,已经盟主发起了挑战。

  那就让他们来进行PK一下:

  <1>. JSON相比XML的不同之处

没有结束标签
更短
读写的速度更快
能够使用内建的 JavaScript eval() 方法进行解析
使用数组
不使用保留字
  总之: JSON 比 XML 更小、更快,更易解析。

  <2>. XML和JSON的区别:

  XML的主要组成成分:

XML是element、attribute和element content。

  JSON的主要组成成分:

JSON是object、array、string、number、boolean(true/false)和null。
  XML要表示一个object(指name-value pair的集合),最初可能会使用element作为object,每个key-value pair 用 attribute 表示:

复制代码 代码如下:


<student age="10"/>

  但如个某个 value 也是 object,那么就不可以当作attribute:

复制代码 代码如下:

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • json对日期的处置

    json对日期的处置

    2017-05-12 14:05

  • Python学习笔记之解析json的方法分析【站长博客网】

    Python学习笔记之解析json的方法分析【站长博客网】

    2017-05-10 17:07

  • iis支持json 配置iis支持json格式的文件教材

    iis支持json 配置iis支持json格式的文件教材

    2017-05-10 12:00

  • 如何解析DELPHI XE5服务器返回的JSON数据(翻译)及中文乱码

    如何解析DELPHI XE5服务器返回的JSON数据(翻译)及中文乱码

    2017-05-10 11:15

网友点评