在Java語(yǔ)言中,JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)格式,可用于數(shù)據(jù)交換和存儲(chǔ)。嵌套數(shù)組則是一種在JSON數(shù)據(jù)中,通過將數(shù)組對(duì)象作為另一個(gè)數(shù)組對(duì)象的值進(jìn)行嵌套的數(shù)據(jù)結(jié)構(gòu)。
示例:[ { "name": "Apple", "price": 3.99, "inventory": [ { "storeAddress": "123 Main St", "quantity": 50 }, { "storeAddress": "456 Elm St", "quantity": 25 } ] }, { "name": "Banana", "price": 1.99, "inventory": [ { "storeAddress": "789 Oak St", "quantity": 75 }, { "storeAddress": "321 Maple St", "quantity": 100 } ] } ]
在上面的代碼示例中,每個(gè)水果對(duì)象都有一個(gè)名字、價(jià)格和一個(gè)與之關(guān)聯(lián)的庫(kù)存數(shù)組。每個(gè)庫(kù)存對(duì)象包含存儲(chǔ)地址和數(shù)量。
通過使用Java中的JSON庫(kù),可以輕松地讀取和解析這種格式的數(shù)據(jù)。下面是Java中使用org.json庫(kù)解析嵌套數(shù)組的示例代碼:
import org.json.JSONArray; import org.json.JSONObject; String fruitData = "{...}"; // 假設(shè)這里是JSON數(shù)據(jù) // 將JSON字符串轉(zhuǎn)換為對(duì)象 JSONObject obj = new JSONObject(fruitData); // 獲取水果數(shù)組 JSONArray fruitArray = obj.getJSONArray("fruits"); // 迭代水果數(shù)組并獲取庫(kù)存信息 for (int i = 0; i < fruitArray.length(); i++) { JSONObject fruit = fruitArray.getJSONObject(i); String name = fruit.getString("name"); double price = fruit.getDouble("price"); // 獲取庫(kù)存信息 JSONArray inventoryArray = fruit.getJSONArray("inventory"); for (int j = 0; j < inventoryArray.length(); j++) { JSONObject inventory = inventoryArray.getJSONObject(j); String storeAddress = inventory.getString("storeAddress"); int quantity = inventory.getInt("quantity"); // 處理庫(kù)存信息 } }
上述代碼通過獲取JSON對(duì)象中的水果數(shù)組,然后迭代水果數(shù)組,獲取每個(gè)水果對(duì)象及其庫(kù)存信息。可以繼續(xù)嵌套更多的JSONArray和JSONObject來構(gòu)建復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。