我是JSON的新手,我可能需要在将来使用它,所以我做了一些阅读。关于SO的JSON有很多问题。我找到了大量使用谷歌的文章,我读了json.org,但我不明白如何存储JSON数据。
JSON是一种轻量级的数据交换格式。那么我如何存储其数据?在文件中?在数据库?这有关系吗?
我可以使用它将数据传递给jsTree(jsTree是一个基于javascript的跨浏览器树组件。它打包为jQuery插件。)它将与Wordpress一起使用。我想了解如何存储数据?在文件中?文本文件?在Wordpress数据库中?哪一个更快?更好用吗?
CURRENT STATUS 在任何编码之前,没有应用程序正在运行
答案 0 :(得分:25)
我想首先要明白的是,JSON只是表示信息的一种方式。您可以随意存储数据。如果你有一个关系数据库,你可能会想出一种合理的方法来回转换数据。
{
"id": 321
"name" : "Jim",
"age" : 27,
"email" : "jim@jimsoft.com"
}
可以用xml表示为
<person>
<id>321</id>
<name>Jim</name>
<age>27</age>
<email>jim@jimsoft.com</email>
</person>
或者可能存储在看起来像
的表中_______________________________________
| id | name | age | email |
========================================
|321 | Jim | 27 |jim@jimsoft.com |
----------------------------------------
因此,如果您可以存储您想要的信息。您只需要某种方法将数据序列化/反序列化为您想要的任何形式。
所有这一切,如果您需要存储 JSON并将其存储为文件将无效,您可能需要查看CouchDB或MongoDB 。它们是面向文档的数据库,实际存储JSON文档。它们将允许您存储所需的任何JSON文档。您可以直接构建视图和查询数据,而无需将数据转换为不同的形式。
答案 1 :(得分:5)
像CouchDB这样的东西是一个将其内部存储在文件中的数据库。大多数人根本没有/ store / JSON,他们生成并发送它,或解析它并处理它。
JSON是一种用于序列化数据的理想格式,但同样的注意事项适用于任何其他序列化格式。您是否将XML存储在数据库中?通常不是。不同之处在于XML会牺牲人类使用,而JSON会让牺牲变得容易解析和快速。
JSON实际上不是CSV的替代品。将CSV视为松散格式化的表特定转储机制。在excel中进行JSON导出没有多大意义。
答案 2 :(得分:1)
将它存储在数据库或文件中的天气并不重要。关键是您需要能够将其作为字符串(使用HTTP或某些服务器端脚本)获取。
例如,如果将其保存为名为data.json的文件,则可以使用ajax来获取它,但如果将其存储在数据库中,则需要使用某种服务器脚本(尽管如此,您仍然可以使用ajax)
如果您对xml有任何经验,只需将json视为同一件事,它只是数据的字符串表示。
答案 3 :(得分:1)
JSON是一种交换格式。您可以将它存储在文件或数据库中,就像任何其他格式一样,但这是否是一个好主意取决于您正在做什么。
你说“到目前为止,我的源csv文件大小为235KB,大约有700行(节点/叶子)”。您在考虑从CSV切换到JSON吗? (你真的没说。)你也说“这个数字会增长,让我们每周说5-10”。对于将应用增量更改的大型文件,CSV或JSON都不是最佳选择,除了CSV,您可以有效地附加数据。如果您正在进行追加,您可以坚持使用CSV,但如果您需要进行其他修改,我可能会将数据分解为数据库,以便可以有效地进行更新。
实际上,您所谈论的数据量非常小,每周更新次数如此之少,您可能无需担心效率问题。做你想做的。 : - )