json能代替数据库吗?

有一个问题,既然js能对json进行增删改查的话,如果自己个人网站用不到一些比较难的后端技术,能否前端就能做出一些登录,注册,留言板,之类的?

有没有比较好的文章可以学习下json的增删改查呢??

主要是自己想写着玩玩。但是实际项目肯定不可能代替这个我是知道的。。

阅读 19.6k
14 个回答

json就是一种数据传输的形式,有保存数据的功能,但是并不持久。一般情况下都是存在于内存,一旦程序退出了,json就没有了。但是数据是需要持久化的,下次启动程序的时候还想要上次的数据,这时候就需要数据库。无论是关系型数据库还是非关系型数据库,都能将数据保存起来,即使程序退出了,数据也不会丢失。

只是做的话当然可以实现 只是没有客户会敢这么来吧 以前还试过xml来存储 感觉很是脑抽

实际是可以这么做的,将数据保存在json文件中,存储在服务器上,这样数据就不仅仅是在内存中了,而且可以反复使用--增删改查都能用。

利用json文件作为跳板,稍加灵活应用的话,不仅可以存储文本,还可以关联并存储图像等其他数据,实际上就是一个小型数据库了。如果你的后台业务不复杂,直接用json当数据库用完全没问题。

可是json作为数据库是有局限性的,比如它查找数据,是把数据全部读进来后,再在里面查找的,这种做法在数据量小时是没问题的,可如果你的要存储的数据非常庞大,每查点东西,你都要把整个数据库的东西加载进去查,这就系统处理就太不堪负重了;数据库在这里就非常有优势,它可以根据程序提出的要求,直接在数据库里事先筛选出需要的数据,再交给系统,这大大提高了效率,也减轻了系统的负担。

而如果你的后台业务再复杂一些,json作为数据库就更有心无力了,比如要处理事务一类的,批量操作数据库,任意一条操作语句失败,就得撤销其他所有操作指令,那json处理起来就够呛,json没有这类引而不发,先看情况再执行不执行的能力,你只能逐个指令写入,当哪个发生错误时,又掉头把同批次写入成功的东西重新删掉,这样写代码,谁看了都冒冷汗,所以稍微复杂场景不会用json作为数据库,但要求真很不高的,则无所谓了。

json只不过是一种数据格式,所以是不可以代替数据库的啦;像数据库MongoDB的格式是bson,就是json的一种二进制形式的存储格式;

持久性的数据还是要存到数据库才行的哟,如果你只是做一些简单的本地数据存放,可以用HTML5localstorage不过,这只是存在用户本地的,清空浏览器数据后数据就会没了~

不能替代,JSON处理不了实体间的复杂关系

这个不是能不能代替的问题,而是数据应该存储在什么位置的问题,按照你说的数据存储在前端的话,那么就相当于吧数据完全暴露给用户了,安全性堪忧。
json从本质上讲是一种数据结构,mongodb这个数据库给我们展现的数据结构就是json的,如果感兴趣可以研究一下。

感觉很多人都没回答到点子上啊,甚至是强答,题主问的应该是能不能用 .json 来存储数据吧?这样直接读取丢给前端就行了,如果你数据少,并且不是很复杂,关系性也不强,当然可以这么干,需要的时候直接读 .json,处理一下格式就发给前端,但是数据如果比较复杂庞大,这么干就显然不可以了,还是得数据库。

Json是一种数据交换格式,但前端不能只用这个就可以做登录留言什么的,还得借助数据库服务器,把数据存在后端,这是安全性考虑,前端中保存在浏览器中的数据基本是不安全的。

学习资料的话可以学习下mongodb数据库,
这个就是使用json来实现的

新手上路,请多包涵

且不说性能 数据库至少要支持 聚合索引高可用 这些要求吧 看起来JSON是搞不定的

我理解楼主的意思是以JSON作为协议格式吧?

json文件保存一下,数据量不大的话可以应付。

纯静态页面的话,可以的

数据库的意义在于数据持久化
JSON只是一种数据格式,可以用JSON的格式去实现一个数据库的

JSON是一种数据存储格式和数据库不存在代替关系


如果是少量数据存在JSON文件中是非常方便的,但是如果是大量数据建议还是存在数据库中,主要是数据库的存储效率、查询效率都高。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题