目的:當App中用到固定的json數據時,如:國家城市列表、班級成員等時,可以將json數據製作爲本地json文件存入assets文件夾下。
步驟如下:
1、新建assets文件夾,並將json文件複製到此文件夾中
在main文件夾下新建assets文件,然後再assets文件中新建namelist.json文件夾,將json數據複製到test.json文件中。
2、訪問json文件
try {
AssetManager assetManager = getAssets(); // 獲得assets資源管理器(assets中的文件無法直接訪問,可以使用AssetManager訪問)
InputStreamReader inputStreamReader = new InputStreamReader(assetManager.open("namelist.json"),"UTF-8"); // 使用IO流讀取json文件內容
BufferedReader br = new BufferedReader(inputStreamReader);
String line;
StringBuilder builder = new StringBuilder();
while ((line = br.readLine())!=null){
builder.append(line);
}
br.close();
inputStreamReader.close();
JSONObject testJson = new JSONObject(builder.toString()); // 從builder中讀取了json中的數據。
// 直接傳入JSONObject來構造一個實例
JSONArray array = testJson.getJSONArray("nameList");
Log.e("nameList",array.toString());
for (int i = 0;i<array.length();i++){
strings[i] = array.getString(i);
}
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}