json,就是一個鍵對應一個值,超級簡單的一對一關係。如今用到的json那能夠層層嵌套啊,剛開始接觸的時候,確實有種崩潰的趕腳,不想去理,取個數據還那麼麻煩。其實,就跟if else語句同樣,若是if中套if,if中再套if,寫的規範了還行,要是代碼格式不規範,那咱們確定也看着麻煩。因此啊,對於json嵌套,只要記住符號「:」前是鍵,符號後是值大括號成對找,一層層剝開,就清楚了。 舉個例子說明,以下:json
[{name1:{name2:{name3:'value1',name4:'value2'}}},{}]數組
從外到裏看,例子中就是一個數組,數組裏面是兩個json格式的字符串。這樣分析思路就清晰多了。spa
工做中須要取出name4的值,大家會怎麼取呢?。最初我都想過字符串截取,那時還不瞭解JSONArray,如今知道了,取出來也就至關容易了。對象
取出name4值過程步驟:1,將以上字符串轉換爲JSONArray對象;2,取出對象的第一項,JSONObject對象;3,取出name1的值JSONObject對象;4,取出name2的值JSONObject對象;5,取出name4的值value2。字符串
示例中json數組格式的字符串能夠經過方法直接轉換爲JSONArray的格式:get
JSONArray.fromObject(String)string
好了咱們說說這兩個對象。class
1,JSONObjectrequest
json對象,就是一個鍵對應一個值,使用的是大括號{ },如:{key:value}map
2,JSONArray
json數組,使用中括號[ ],只不過數組裏面的項也是json鍵值對格式的
Json對象中添加的是鍵值對,JSONArray中添加的是Json對象
3,JSONObject與Map
Map map和json都是鍵值對,不一樣的是map中鍵值對中間用等號分開,json中鍵值對中間用冒號分開。其實json就是一種特殊形式的map。
這裏的需求是:request對象獲取的map,想要返回json格式也不用白費力了。