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();
}