android - 将数据写入本地 JSON 文件

标签 android json

我将 JSON 文件存储在 Assets 文件夹中。从中读取很容易,但我如何写入它以及退出应用程序时数据是否已保存?

JSON:

{
    "Home": [
        {
            "Task": "Lapup1",
            "Time": "14:00",
            "Date": "26/12/2016"
        },
        {
            "Task": "Lapup2",
            "Time": "17:00",
            "Date": "26/12/2016"
        },
        {
            "Task": "Lapup3",
            "Time": "15:00",
            "Date": "26/12/2016"
        }
    ]
}

Json 解析器(阅读):

public class JSONParser {

    ArrayList<Task> taskList;
    String json;

    public JSONParser(Context context) {
        taskList = new ArrayList<Task>();
        json = null;
        try {
            InputStream is = context.getAssets().open("Home.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();
        }
    }

    public void getJsonData(String type) {
        try {
            JSONObject obj = new JSONObject(json);
            JSONArray m_jArry = obj.getJSONArray("Home");

            for (int i = 0; i < m_jArry.length(); i++) {
                JSONObject jo_inside = m_jArry.getJSONObject(i);
                Log.d("DTAG", jo_inside.getString("Task"));
                Log.d("DTAG", jo_inside.getString("Time"));
                Log.d("DTAG", jo_inside.getString("Date"));
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}

那么如何向我的 Home 字符串添加一些内容呢?

最佳答案

你不能。 Assets 是一个只读区域。要存储更改,您必须将文件存储在其他地方。

关于android - 将数据写入本地 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34964337/

相关文章:

java - 多次使用ListView

javascript - 从 JSON 中获取键和值

javascript - 如何在我的 html 上使用 getJSON

php - 从 JSON Ajax 返回中提取值

jquery - 将Grails从1.3.4升级到2.0.3后,将数据呈现为JSON无法正常工作

android - 是否可以水平显示可扩展 ListView 的 subview ?

安卓 3.0.1 错误 :Unable to resolve dependency for ':app@debug/compileClasspath' : Could not resolve project :app2

java - TextView 不是自动调整大小

java - 哪个 Java 数据对象用于多维范围匹配?

java - 将 Json 字符串转换为字符串