Android访问本地JSON文件

it2026-01-06  8

Android访问本地JSON文件

1.本地JSON文件不能直像Drawable文件那样接访问,需要通过AssetManager来访问。

2.毕竟是文件类型的数据访问肯定是需要输入流的。

3.有注释的代码

/** * 获得JSON文件数据 * @param context 上下文对象 * @param file JSON文件名字“*.json” * @return json字符串 */ private String getJSONFile(Context context,String file) { //1. 创建字符串存储对象StringBuilder StringBuilder stringBuilder=new StringBuilder(); //2. 获得AssetManager对象context.getAssets();方式来获取 AssetManager assetManager=this.getAssets(); try { //3. 通过AssetManager对象的open方法获得输入流对象,绑定字符集urf-8 InputStreamReader inputStreamReader=new InputStreamReader(assetManager.open(file),"utf-8"); //4. 创建BufferedReader对象绑定输入流对象 BufferedReader bufferedReader=new BufferedReader(inputStreamReader); String line=""; //5. 循环遍历读取出文件内的数据存储到StringBuilder内 while ((line=bufferedReader.readLine())!=null){ stringBuilder.append(line); } } catch (IOException e) { e.printStackTrace(); } //6. 返回StringBuilder.toString();则能获取到文件内所有的JSON数据了; return stringBuilder.toString(); }

4.调用的方式

String jsonFile=getJSONFile(this,"JSON文件名.json"); Gson gson=new Gson(); //Bend为JSON文件数据对应的类 Bend bend=gson.fromJson(jsonFile,Bend.class);
附件:创建JSON文件方法

【Project】视图app/src/main文件夹->右击【New】->【Folder】->【Assets Folder】选项,创建assets文件夹

右击assets文件夹【New】->【File】->输入“文件名.json”创建JSON文件

最新回复(0)