我正在使用一个文件来保存我的程序正在生成的json数据。结构是这样的:
{"allData" : {
"data1": [{"d": 10}, {"d": 20}, {"d": 30}],
"data2": [{"d": 100}, {"d": 200}, {"d": 300}],
"data3": [{"d": 1000}, {"d": 2000}, {"d": 3000}]
}
}
我几乎不断地生成和编写数据。我偶尔只需要从文件中读取数据以便在程序中使用。
问题在于,每当我想从程序中向allData对象的一个数据成员添加一些新数据时,我必须从文件中读取整个对象并将其存储到内存中的json对象中,访问数据成员,附加一个新数据,然后将整个对象写回文件。
我希望能够通过绕过将整个对象带入内存来更有效地向文件添加数据。我认为最好只打开文件进行追加并向其中添加一段数据。但是,我不认为这会起作用,因为附加到文件的末尾会搞砸json的格式。
我最初的想法是创建三个单独的json文件,data1.json,data2.json和data3.json,只包含其中的对象,如下所示:
data1.json
{"d": 10}
{"d": 20}
{"d": 30}
然后有几次我需要读取我的程序中使用的数据,我会打开文件并重建原始的json对象。
有没有办法追加到文件中的json对象?添加到文件中的json对象的首选方法是什么?除了json之外还有其他文件格式允许这种行为吗?