在Java语言中,JSON(JavaScript Object Notation)是一种轻量级的数据格式,可用于数据交换和存储。嵌套数组则是一种在JSON数据中,通过将数组对象作为另一个数组对象的值进行嵌套的数据结构。
示例:[ { "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 } ] } ]
在上面的代码示例中,每个水果对象都有一个名字、价格和一个与之关联的库存数组。每个库存对象包含存储地址和数量。
通过使用Java中的JSON库,可以轻松地读取和解析这种格式的数据。下面是Java中使用org.json库解析嵌套数组的示例代码:
import org.json.JSONArray; import org.json.JSONObject; String fruitData = "{...}"; // 假设这里是JSON数据 // 将JSON字符串转换为对象 JSONObject obj = new JSONObject(fruitData); // 获取水果数组 JSONArray fruitArray = obj.getJSONArray("fruits"); // 迭代水果数组并获取库存信息 for (int i = 0; i < fruitArray.length(); i++) { JSONObject fruit = fruitArray.getJSONObject(i); String name = fruit.getString("name"); double price = fruit.getDouble("price"); // 获取库存信息 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"); // 处理库存信息 } }
上述代码通过获取JSON对象中的水果数组,然后迭代水果数组,获取每个水果对象及其库存信息。可以继续嵌套更多的JSONArray和JSONObject来构建复杂的数据结构。