try {
regions = json.getJSONArray(TAG_REGIONS);
for (int i = 0; i < regions.length(); i++) {
JSONObject c = regions.getJSONObject(i);
String regionName = c.getString(TAG_REGION_NAME);
areas = json.getJSONArray(TAG_AREA);
for (int j = 0; j < areas.length(); j++) {
JSONObject d = areas.getJSONObject(j);
String areaName = d.getString(TAG_AREA_NAME);
shops = json.getJSONArray(TAG_SHOP);
for (int k = 0; k < shops.length(); k++) {
JSONObject e = shops.getJSONObject(k);
String id = e.getString(TAG_ID);
String shopName = e.getString(TAG_SHOP_NAME);
String shopNameForGoogle = e.getString(TAG_SHOP_NAME_GOOGLE);
String img = e.getString(TAG_IMAGE);
String address = e.getString(TAG_ADDRESS);
String tel = e.getString(TAG_TEL);
String hrs = e.getString(TAG_HRS);
String lat = e.getString(TAG_LAT);
String lng = e.getString(TAG_LNG);
}
}
}
} catch (JSONException e) {
e.printStackTrace();
}
以上是从json文件收集的数据。结构是
regions
->areas
->shops
我应该使用arrayList来存储它吗?我存储商店列表后如何参考?感谢。
答案 0 :(得分:1)
在较高的层面上,像trie这样的东西适合。
在代码中,一些基本方法如下:
Region
List<area>
List<shops>
这将使您的检索/插入和删除成为一种真正的痛苦。但从好的方面来说,它很容易理解和迭代。
2张地图:Region -> List<area>
和Area -> List<shops>
表现优于第一名。
单张地图:Region+Area -> List<shops>
。可以有太多的键,具体取决于区域和区域数。