JSONObject與JSONArray的理解

2021-08-22 14:50:35 字數 1481 閱讀 9775

編者注:關於jsonobject,也即json物件,在使用介面的時候前端經常要通過json物件來對資料進行分析和使用,本篇文章就帶你來了解一下jsonobject與jsonarray。

之前用到的json,就是乙個鍵對應乙個值,超級簡單的一對一關係。現在用到的json那可以層層巢狀啊,剛開始接觸的時候,確實有種崩潰的趕腳,不想去理,取個資料還那麼麻煩。

其實,就跟if else語句一樣,如果if中套if,if中再套if,寫的規範了還行,要是**格式不規範,那我們肯定也看著麻煩。所以啊,對於json巢狀,只要記住符號「:」前是鍵,符號後是值大括號成對找,一層層剝開,就清楚了。 舉個例子說明,如下:

southeas

從外到裡看,例子中就是乙個陣列,陣列裡面是兩個json格式的字串。這樣分析思路就清晰多了。

工作中需要取出name4的值,你們會怎麼取呢?。最初我都想過字串擷取,那時還不了解jsonarray,現在知道了,取出來也就相當容易了。

取出name4值過程步驟:

1,將以上字串轉換為jsonarray物件;

2,取出物件的第一項,jsonobject物件;

3,取出name1的值jsonobject物件;

4,取出name2的值jsonobject物件;

5,取出name4的值value2。

示例中json陣列格式的字串可以通過方法直接轉換為jsonarray的格式:jsonarray.fromobject(string)

jsonarray getjsonarray=jsonarray.fromobject(arraystr);//將結果轉換成jsonarray物件的形式

jsonobject getjsonobj = getjsonarray.getjsonobject(0);//獲取json陣列中的第一項

string result=getjsonobj.getjsonobject(「name1」).getjsonobject(「name2」).getjsonobject(「name4」);

好了我們說說這兩個物件。

1,jsonobject

json物件,就是乙個鍵對應乙個值,使用的是大括號,如:

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

關於JSONObject解析json

如果沒有list只是object的話,用jsonobject解析接送也是個不錯的選擇 今天的測試資料是 wind life weather week 六 nongli 九月十六 week 日 nongli 九月十七 week 一 nongli 九月十八 week 二 nongli 九月十九 week...

JSONObject 解析多層json資料

多層巢狀時,只需要解析多層巢狀次數 1,解析完成後可直接取出資料。相同資料需要使用for迴圈。jsonarray是陣列,jsonobject是單條資料。jsonobject jsonobject new jsonobject responsetext jsonobject jsonobject1 j...

怎樣解析JSON和JSONObject舉例

說起json,大家就談不上陌生了,因為對於資料傳輸語言,各位只認json,即使有xml語言,但是各位很少用吧。我也是,但是之前用過的json轉換工具各種各樣,我記憶中有過gson google fastjson 阿里巴巴 jsonlib等等。這次使用的jsonobject 需求一 呼叫第三方介面返回...