在Java中使用JSON格式進行數(shù)據(jù)交互已經(jīng)成為了一個非常常見的做法。但是,面對復(fù)雜的數(shù)據(jù)結(jié)構(gòu),有時候一個JSON串可能已經(jīng)無法滿足需求了,這個時候,我們就需要在JSON里面加入另一個JSON,即嵌套JSON。
{ "name": "張三", "age": 18, "address": { "province": "江蘇省", "city": "南京市", "district": "雨花臺區(qū)" } }
上面這個JSON串中,address字段就是嵌套了一個JSON,而且這個嵌套的JSON還可以繼續(xù)嵌套下去。
在Java中,我們可以使用JSONObject或者JSONArray來進行JSON的操作。下面是一個使用JSONObject嵌套JSON的例子:
JSONObject outerObject = new JSONObject(); JSONObject innerObject = new JSONObject(); innerObject.put("province", "江蘇省"); innerObject.put("city", "南京市"); innerObject.put("district", "雨花臺區(qū)"); outerObject.put("name", "張三"); outerObject.put("age", 18); outerObject.put("address", innerObject); System.out.println(outerObject.toString());
在上面這段代碼中,我們首先創(chuàng)建了一個外部的JSONObject。然后創(chuàng)建了一個內(nèi)部的JSONObject,并向內(nèi)部的JSONObject中加入了三個屬性:province、city、district。接著,我們把內(nèi)部的JSONObject加入到外部的JSONObject中,形成了嵌套關(guān)系。最后,我們通過調(diào)用toString()方法來輸出外部的JSONObject的字符串形式。
上面這段代碼的輸出結(jié)果就是下面這個JSON字符串:
{ "name": "張三", "age": 18, "address": { "province": "江蘇省", "city": "南京市", "district": "雨花臺區(qū)" } }
通過使用JSONObject來進行嵌套JSON的操作,我們就可以輕松地構(gòu)造出復(fù)雜的JSON串。需要注意的是,在構(gòu)造JSONObject時,我們需要先構(gòu)造內(nèi)部的JSONObject,再把內(nèi)部的JSONObject加入到外部的JSONObject中。這樣形成的JSON串,才是符合規(guī)范的JSON格式。