近期两个星期接触最多的就是json和map了。
之前用到的json,就是一个键相应一个值,超级简单的一对一关系。如今用到的json那能够层层嵌套啊,刚開始接触的时候,确实有种崩溃的赶脚,不想去理。取个数据还那么麻烦。
事实上,就跟if else语句一样,假设if中套if,if中再套if。写的规范了还行,要是代码格式不规范,那我们肯定也看着麻烦。所以啊,对于json嵌套,仅仅要记住符号“:”前是键,符号后是值大括号成对找,一层层剥开。就清楚了。 举个样例说明,例如以下:
从外到里看,样例中就是一个数组,数组里面是两个json格式的字符串。这样分析思路就清晰多了。
工作中须要取出name4的值,你们会怎么取呢?。最初我都想过字符串截取,那时还不了解JSONArray,如今知道了,取出来也就相当easy了。
取出name4值过程步骤:1,将以上字符串转换为JSONArray对象。2,取出对象的第一项。JSONObject对象;3。取出name1的值JSONObject对象;4。取出name2的值JSONObject对象;5。取出name4的值value2。
演示样例中json数组格式的字符串能够通过方法直接转换为JSONArray的格式:JSONArray.fromObject(String)
</pre><pre name="code" class="java">JSONArray getJsonArray=JSONArray.fromObject(arrayStr);//将结果转换成JSONArray对象的形式 JSONObject getJsonObj = getJsonArray.getJSONObject(0);//获取json数组中的第一项 String result=getJsonObj.getJSONObject("name1").getJSONObject("name2").getJSONObject("name4");
好了我们说说这两个对象。
1,JSONObject
json对象,就是一个键相应一个值,使用的是大括号{ },如:{key:value}
2,JSONArray
json数组。使用中括号[ ],仅仅只是数组里面的项也是json键值对格式的
Json对象中加入的是键值对,JSONArray中加入的是Json对象
JSONObject Json = new JSONObject(); JSONArray JsonArray = new JSONArray(); Json.put("key", "value");//JSONObject对象中加入键值对 JsonArray.add(Json);//将JSONObject对象加入到Json数组中
3,JSONObject与Map
Map map和json都是键值对,不同的是map中键值对中间用等号分开,json中键值对中间用冒号分开。事实上json就是一种特殊形式的map。
Map<String,String> strmap=new JSONObject();
这里的需求是:request对象获取的map,想要返回json格式也不用白费力了。
。。
。哈哈。。
如今我能够说对map。json非常了解。当初学习那会。能够说提到map就头疼。我嫌麻烦,对map和json会简单应用了就过了。如今工作了又捡起来又一次学习了一次。出来混,早晚问题都是你的。哈哈。。。