关于新手对于json的一些话

来源:互联网 发布:p2p网贷数据库设计 编辑:程序博客网 时间:2024/05/19 00:52

虽然刚工作一年,不过在这期间遇到很多新人,对于json的理解视乎过于复杂。当然也有直接就是用gson,或者阿里的fson等等。单个人认为,只有整整理解了最基础的json才能更好的运用这些封装好的json工具。(以下以上都属于个人观点,有不妥请提出,相互学习)

一、使用工具校验,格式化json

很长很长的json字符,看上去很繁杂很其实很简单,不过在拿到一个json之前必须先分析得到json格式,在此推荐 http://www.bejson.com/jsoneditoronline/。在该站内还提供各种关于json的辅助工具。

二、对json数据格式的理解(语言选取:Java)

很多情况下,新手总是操之过急的去解析json,然而对于手里的json数据格式完全没有理解清楚。这里简单的推荐几种格式的解析;

使用的方法为Java

类型1:JSONObject 选取JSONArray 中JsonObject类型,数据类型如下

{

    "str1": "str",
    "list": [
        {
            "obj": "obj"
        },
        {
            "obj": "obj"
        }

    ],

  "str2":"str2"

}

解析代码

JSONObject object=new JSONObject (“json字符串”);

JSONArray array=object.getJSONArray("list");//括号内为要jsonarray的key

for(int i=0;i<array.length();i++){

JSONObject object2=array.getJSONObject(i);

String obj=object2.getString("obj");

}

这样就完成了对JSONArray 中对象的获取,其实这只是比获取JSONArray 中字符串稍微稍微难一点点;有的人可能会遇到在 内嵌中还有JSONObject 或者JSONArray ,

如果内嵌有JSONObject 则直接在for中创建一个JSONObject对象 ,

代码如下

for(int i=0;i<array.length();i++){

JSONObject object2=array.getJSONObject(i);

JSONObject obj=object2.getString("obj");

}


如果是JSONArray 则需要 在创建一个JSONArray 对象并且遍历(当然如果太多层,请考虑内存,代码执行数度),

代码如下

for(int i=0;i<array.length();i++){

JSONObject object2=array.getJSONObject(i);

JSONArray array2=object2.getString("obj");

forfor(int j=0;j<array.length();j++){

//根据具体情况来写

}

}

总结:

json很简单,无论怎么复杂他就像一个多细胞生物,每一种细胞功能只要弄懂了,无论怎么变化,你都能运筹帷幄。


0 0
原创粉丝点击