【发布时间】:2018-06-18 00:19:31
【问题描述】:
我有一个 JSON,其中包含国家名称、它们的州和这些州的城市。这是json。
我能够获取所有国家/地区,但我不知道如何根据所选国家/地区获取州,然后根据所选州获取城市。
这是我获得国家/地区的方法。enter code here
首先从资产中加载文件:
public String loadJSONFromAsset() {
String json = null;
try {
InputStream is = getAssets().open("Contries.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
return json;
}
然后将国家加载到 ArrayList 中。
public void loadCountries(String parent, String child, ArrayList<String> listValue)
{
try {
JSONObject obj = new JSONObject(loadJSONFromAsset());
JSONArray m_jArry = obj.getJSONArray(parent);;
ArrayList<HashMap<String, String>> formList = new ArrayList<HashMap<String, String>>();
HashMap<String, String> m_li;
// listValue = new ArrayList<>();
for (int i = 0; i < m_jArry.length(); i++) {
JSONObject jo_inside = m_jArry.getJSONObject(i);
listValue.add(jo_inside.getString(child));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
那么最后一行:
loadCountries("Countries", "CountryName", countries);
在我选择了一个国家之后,我想加载它的状态。也许是这样的:
loadCountries("Pakistan", "StateName", states);
然后:
loadCountries("Islamabad Capital Territory", "CityName", cities);
非常感谢任何帮助。
【问题讨论】: