请问,有哪个包可以方便的“存取”一个大的json对象到一个文件里?
发布于 6 年前 作者 hz0324 3702 次浏览 来自 问答

我们的业务需求,需要创建N多个小文件,每个文件里存一个json对象。 一般的做法是:拿到json对象,stringify,然后以字符串形式存到一个特定的文件里。需要的时候再从特定的文件里读出来,parse一下,然后再用。

请问,有没有某个包,更优雅的实现这个操作啊? 多谢。

15 回复

@atian25 这种是把所有数据存在一个文件里,我们需要的是,很多个不同的文件。比如我们的应用是关于图书的,那每个图书的阅读信息之类的,就要存在一个独立的文件里,然后用户再次阅读时,就从那个特定文件读取信息

fs-extra里的readJson和writeJson

不建议用文件存储大块内容,这种需求用mongodb很好呀。

来自酷炫的 CNodeMD

图书信息一般也不是一本书一个json,分开章节放,然后按需加载

来自酷炫的 CNodeMD

@hz0324 有管理需求,那更应该使用数据库了吧?

@yinsu 哇,这个就是我想要的,非常好,非常感谢!!!!!!

@178220709 一般情况是的,但是我们的情况略微特殊。我们的每个图书是在一个文件夹里,里面有它的图书文件,和一些其他数据。比如我们为了搜索,可能会缓存一个很大的数据,可能1M的json对象,这种数据存在数据库,就会影响数据库效率。另外,当做删除操作时,你要是存在数据库,还得先删文件,再删数据库数据。但是在一个文件夹里,我们只用“删除文件夹”就OK啦。哈哈

@178220709 对了,再补充说明一下,我们的程序是Electron,跑在客户机器上。啥数据库都不靠谱。

早说嘛,楼主是开发客户端,所以不需要数据库。

然后这个客户端又想有数据库的功能,查询,排序,筛选,数据持久化,那就得找一些本地数据库。

好家伙,接住这个: https://github.com/typicode/lowdb

cs和bs这么大差别,都不说清楚… 但是只要是需要管理,仍然是推荐使用数据库的,用单机数据库就是了 不过看你也意识不到以后的坑.

@178220709 业务数据我们存的是数据库,这里找的是怎么存“缓存类”数据的方法

@axetroy 多谢哈

回到顶部