![](/img/trans.png)
[英]How to Save "Data.Json" file from assets to internal Storage and then use it for read/write
[英]Read JSON file from assets
我正在嘗試使用getAssets()
從片段中的資產讀取JSON文件,但是IDE表示“無法解析此方法(getAssets())”。
碼
public String loadJSONFromAsset() {
String json = null;
try {
InputStream is = getAssets().open("moods.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;
}
嘗試這個:
創建一個類LoaderHelper.java
public class LoaderHelper {
public static String getJson(Context context, String json){
String jsonString=parseFileToString(context, json);
return jsonString;
}
public static String parseFileToString( Context context, String filename )
{
try
{
InputStream stream = context.getAssets().open( filename );
int size = stream.available();
byte[] bytes = new byte[size];
stream.read(bytes);
stream.close();
return new String( bytes );
} catch ( IOException e ) {
Log.i("GuiFormData", "IOException: " + e.getMessage() );
}
return null;
}
}
要獲取json字符串,請按以下方式調用上述類:
String str=LoaderHelper.parseFileToString(context, "levels.json");
其中levels.json是存儲在asset
文件夾中的json文件。
方法getAssets()
是Context類的一部分。 因此,如果您不在擴展Context的類中調用loadJSONFromAsset()
例如Activity),則需要提供對Context的引用作為方法的參數,然后在其上調用getAssets()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.