11

我对 JSON 完全陌生,将来可能需要使用它,所以我做了一些阅读。SO上有很多关于JSON的问题。我使用 google 找到了很多文章,我阅读了 json.org,但我不明白如何存储 JSON 数据。

JSON 是一种轻量级的数据交换格式。那么我如何存储它的数据呢?在一个文件中?在数据库中?有关系吗?

我可以使用它将数据传递给jsTree(jsTree 是一个基于 javascript 的跨浏览器树组件。它被打包为一个 jQuery 插件。)它将与 Wordpress 一起使用。我想了解我将如何存储数据?在一个文件中?文本文件?在 Wordpress 数据库中?哪个更快?更好用吗?

CURRENT STATUS在任何编码之前,没有应用程序在运行

  • 我正在准备源数据,到目前为止,我的源 csv 文件大小为 235KB,大约有 700 行(行 = 未来节点/叶子)。我使用 csv 文件只是为了收集数据,然后我将上传/更新网络服务器上的数据源。
  • 这个数字将会增长,比如说每周增加 5-10 个。
  • 该文件位于我的本地计算机上,并将(以某种方式)存储在虚拟主机服务器上。请注意,我将在 Wordpress 中使用整个应用程序 jsTree+JSON
  • 我想我可以使用这个:Now parse Client side json with Wordpress
4

4 回答 4

26

我想首先要理解的是 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 并将其存储为文件将不起作用,您可能想查看CouchDBMongoDB。它们是实际存储 JSON 文档的面向文档的数据库。它们可以让你存储任何你想要的 JSON 文档。您可以直接构建视图并查询数据,而无需将数据转换为不同的形式。

于 2010-02-04T19:48:23.527 回答
5

像 CouchDB 这样的东西是一个将其存储在内部文件中的数据库。大多数人根本不 /store/ JSON,他们生成它并发送它,或者解析它并处理它。

JSON 是序列化数据的理想格式,但与任何其他序列化格式相同的警告也适用于它。您是否将 XML 存储在数据库中?通常不会。不同之处在于 XML 牺牲了人类使用,而 JSON 牺牲了易于解析和快速。

JSON 并不是 CSV 的真正替代品。将 CSV 视为格式松散的特定于表的转储机制。在 excel 中导出 JSON 并没有多大意义。

于 2010-02-04T19:53:21.723 回答
1

将其存储在数据库或文件中的天气并不重要。关键是您需要能够将其作为字符串获取(使用 HTTP 或一些服务器端脚本)。

例如,如果将其保存为名为 data.json 的文件,则可以使用 ajax 来获取它,但如果将其存储在数据库中,则需要使用某种服务器脚本(尽管您仍然可以使用 ajax)。

如果您对 xml 有任何经验,只需将 json 视为同一事物,它只是数据的字符串表示形式。

于 2010-02-04T19:54:10.357 回答
1

JSON 是一种交换格式。如果需要,您可以将其存储在文件或数据库中,就像任何其他格式一样,尽管这是否是一个好主意取决于您正在做什么。

您说“到目前为止,我的源 csv 文件大小为 235KB,大约有 700 行(节点/叶子)”。您是否正在考虑从 CSV 切换到 JSON?(您并没有真正说出来。)您还说“这个数字会增长,比如说每周增加 5-10 个”。对于将应用增量更改的大型文件,CSV 或 JSON 都不是真正的最佳选择,除非使用 CSV,您可以有效地附加数据。如果您所做的只是追加,您可以坚持使用 CSV,但如果您需要进行其他修改,我可能会将数据分解到数据库中,以便可以有效地进行更新。

其实你说的数据量很小,每周更新这么少,大概不用担心效率问题。做你想做的。:-)

于 2010-02-04T19:57:22.340 回答