网站导航树作为JSON - 这是不好的做法?

时间:2013-10-28 22:33:46

标签: php jquery mysql json navigation

我必须为网站实现x级深度导航菜单。在我花了几个小时试图想出一个存储,操作和显示这个树的好方法后,我决定使用JSON而不是MySQL。我要么把它放在一个文件中,要么放在MySQL的一个字段中(因为它只是一行有一个字段,所以我认为这可能是一种过度杀伤)。

我正在使用jQuery可嵌套列表插件,我之所以喜欢使用JSON,是因为我们可以直接操作项目数据,因为它们是DOM元素(我发现它比传递ID更容易并且照顾哪些元素用于删除,应该更新,应该添加),并获得序列化输出,将其“原样”保存在文件中,当涉及到将其放入水平多级下拉菜单时,我可以在PHP的帮助下,尊重项目订单和插件所做的嵌套。

出于某种原因这是不好的做法吗?表现明智吗?

1 个答案:

答案 0 :(得分:1)

有些事情要注意:

1)使用MySQL isn't really that straight-forward

存储树结构

2) 但是数据库引擎负责一些基本锁定(想想如果两个用户正在向文件at the same exact time写树结构会发生什么)< / p>

3)如果按“原样”序列化和存储结构会发生什么,但html和/或java脚本结构会发生变化?它还能用吗?很可能你必须编写一个函数来转换所有序列化数据以与新结构兼容。

4)性能方面,无论您使用 json + files / json + mysql / ,它都没有任何区别只有mysql - 这几毫秒不会有任何区别。保持代码的逻辑性,可读性和易维护性 - 大多数情况下升级硬件比维护和开发“hacky”代码更便宜。

总结一下,将这种数据存储为json似乎没问题,只要注意上面提到的一些可能的问题。