Java 如何将不同排序的数据保存在.json文件中,存储在何处,如何检索?

Java 如何将不同排序的数据保存在.json文件中,存储在何处,如何检索?,java,android,json,arraylist,Java,Android,Json,Arraylist,我是android新手,开发并创建了一个“eventlogger”应用程序,在该应用程序中,您可以在此活动中选择无限多的事件: 所有事件都添加到名为“事件””的ArrayList中,如下所示: [Event 1, Event 2, Event 3] 在下一个活动中,您可以启动计时器,按下按钮并将时间作为字符串记录到Arraylist的Arraylist中 ArrayList中的ArrayList被命名为“AllEventList” ArrayList<ArrayList<Str

我是android新手,开发并创建了一个“eventlogger”应用程序,在该应用程序中,您可以在此活动中选择无限多的事件:

所有事件都添加到名为“事件””的ArrayList中,如下所示:

[Event 1, Event 2, Event 3]
在下一个活动中,您可以启动计时器,按下按钮并将时间作为字符串记录到Arraylist的Arraylist中

ArrayList中的ArrayList被命名为“AllEventList

ArrayList<ArrayList<String>> allActionsList;
最后,我想将其保存在一个.json文件中,该文件如下所示

[[00:00:01, 00:00:09, 00:00:12], [00:00:04, 00:00:07, 00:00:14], [00:00:03, 00:00:06, 00:00:15]]
{
"events":{
    "Event 1":["00:00:01", "00:00:09", "00:00:12"],
    "Event 2":["00:00:04", "00:00:07", "00:00:14"],
    "Event 3":["00:00:03", "00:00:06", "00:00:15"]

}

如何在.json文件中写入数据,以及以后如何检索数据,以及应将数据存储在何处?

这里有一种方法:

private String convertToJsonString(ArrayList<ArrayList<String>> allActionsList) 
{
    JSONObject jObj = new JSONObject();
    JSONObject events = new JSONObject();
    JSONArray eventX;
    int count = 1;
    String key;

    try {
        for(ArrayList<String> array : allActionsList){
            key = String.format("Event %d", count);
            eventX = new JSONArray();
            for(String s : array){
                eventX.put(s);
            }
            events.put(key, eventX);
            count++;
        }
        jObj.put("events", events);

    } catch(Exception e){
        // failed somewhere to create JSON object
        e.printStackTrace();
    }
    return jObj.toString();
}
private String convertToJsonString(ArrayList allActionsList)
{
JSONObject jObj=新的JSONObject();
JSONObject事件=新的JSONObject();
JSONArray事件;
整数计数=1;
字符串键;
试一试{
for(ArrayList数组:allActionsList){
key=String.format(“事件%d”,计数);
eventX=新的JSONArray();
for(字符串s:数组){
eventX.put(s);
}
events.put(key,eventX);
计数++;
}
jObj.put(“事件”,事件);
}捕获(例外e){
//无法创建JSON对象
e、 printStackTrace();
}
返回jObj.toString();
}
转换为字符串后,您可以将其保存到文件中

然后,您可以将其作为字符串从文件中读回,并按如下方式构建JSON对象:

JSONObject events = new JSONObject(<string read from file>);
JSONObject事件=新的JSONObject();

希望这对您有用。

SQLite可能比json文件更适合您的应用程序需要。使用SQLite时,不必担心“.我应该在哪里存储它”@Barns这可能是真的,但我需要我的应用程序创建一个JSON文件,以便在Androids Java之外进一步使用。