1.準備工作
把test.json放入assets文件夾
{
"language":[
{"id":1, "tools":"XCode", "name":"Swift"},
{"id":2, "tools":"Eclipse", "name":"Java"},
{"id":3, "tools":"Visual Studio", "name":"C#"}
],
"cat":"it"
}
2.在mainactivity.java裏面進行操作
try {
//打開存放在assets文件夾下面的json格式的文件並且放在文件輸入流裏面
InputStreamReader inputStreamReader = new InputStreamReader(getAssets().open("test.json"), "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line;
StringBuilder stringBuilder = new StringBuilder();
while((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line);
}
bufferedReader.close();
inputStreamReader.close();
//新建一個json對象,用它對數據進行操作
JSONObject jsonObject = new JSONObject(stringBuilder.toString());
//單獨去一個值
Log.i("TESTJSON", "cat=" + jsonObject.getString("cat"));
JSONArray jsonArray = jsonObject.getJSONArray("language");
//取一個數組值
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object = jsonArray.getJSONObject(i);
Log.i("TESTJSON", "----------------");
Log.i("TESTJSON", "id=" + object.getInt("id"));
Log.i("TESTJSON", "name=" + object.getString("name"));
Log.i("TESTJSON", "tools=" + object.getString("tools"));
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}