在本地存储中附加文件名以顺序保存 JSONObject

Append file name in local storage to saveJSONObject sequentially

我正在使用处理从 Web 抓取数据,使用 API 调用每分钟获取一个 JSON 对象,这是通过以下方式完成的;

JSONObject raw = loadJSONObject(url); 
events = raw.getJSONArray("theThingiWant"); 

然后我使用 saveJSONObject(raw, "data/scraped"+".json"); 来保存这个对象。

我知道在处理过程中有 saveframe() 函数允许您按顺序将帧保存为您选择的数字格式,并希望 saveJSONObject 会有这个在其中,但事实并非如此。

我想做的是按顺序保存多个 JSON 对象,这样我的数据文件夹包含 scrape001、scrape002 等。是否有此功能,或者可以通过检索和附加最后保存的文件来完成?

所以我有一个可行的解决方案来解决我想做的事情,如下所示;

我知道我正在调用 API 并每分钟获取一个新的 JSON 对象。我可以将它与 millis() 函数结合使用,如下所示

saveJSONObject(raw, "data/scraped00"+(millis()/60000)+".json");

它所做的是保存 JSON 对象,然后将其附加一个由 millis() 生成的唯一数字除以 60000,从毫秒转换为分钟。这意味着该文件不会覆盖上次保存,而是以一分钟为增量生成一个新文件。

除了您的 millis() 解决方案之外,您还可以只跟踪一个 int 值,在生成文件名时使用它,并在每次保存文件时递增它。

像这样:

int files = 0;

void draw(){
  saveJSONObject(whatever, "scraped" + files + ".json");
  files++;
}

您还可以使用 frameCount 变量:

void draw(){
  saveJSONObject(whatever, "scraped" + frameCount+ ".json");
  files++;
}