适当使用JSON?

时间:2009-10-27 19:59:15

标签: php apache json unix

很棒的网站!我有一个问题,我没有看到答案。

我对此很新,我不知道昨天JSON是什么,所以如果这是一个愚蠢的问题,我道歉。客户端已请求JSON / XML类型方案来存储数据,因为他们希望编辑/更新平面文件而无需处理查询,并且他们希望它可以灵活地用于将来的开发。我希望数据结构化,因为我将使用它和php来构建html页面,网站的两个部分将使用它,两者都在同一台服务器上。

json文件将包含一个对象数组,可能最终为50个,包含5或6个短标记/数据组合,以及1-3个标记/数据组合,这些组合将很长,每个文本有几段。

详细信息:仅服务器端实现,一切都将驻留在同一服务器上。这时,我将手动构建json文件,以后可能会自动生成。我更喜欢json到xml,因为它似乎更容易用php操作。我有php 5.2.6和json 1.2.1。

我的问题是:

  1. 将json用于textarea大小的数据是否合适?当我的阵列中有30-50个对象时,是否会在构建时导致性能问题,我需要找到合适的对象?

  2. 将json用作这样的数据存储库是否合适?

  3. 如果是这样,我很难找到关于基本知识的说明,比如如何访问文件。我是否必须在同一台服务器上使用XMLHttpRequest?任何有助于更好地理解这一点的信息链接将不胜感激。

  4. 如果这不是一个好的用法,我们将非常感谢任何关于什么可能是一个好选择的提示!

  5. 谢谢!

4 个答案:

答案 0 :(得分:3)

  1. 可能不是。
  2. 否。请使用数据库,将来会为您节省很多麻烦。
  3. 如果必须这样做,只需使用PHP库来访问json文件。
  4. 使用MySql或同等产品。听起来你需要动态生成页面数据。这正是MySql的构建(除其他外)。

答案 1 :(得分:1)

我很震惊地阅读“没有现代网络应用程序将数据存储在平面文件中”这样的内容。

您是否知道Google和Twitter使用平面文件系统? Geez ......从数据库时代长大。除非你在排序,搜索和组合成千上万的数据块,否则mysql并没有真正意义。此外,平面文件通常是最简单和最便携的(不仅仅是出于备份原因)。

我确实会深入研究“文件阅读和写作”。这也将扩大你对核心php功能的理解(你的结果也可能更快)。

答案 2 :(得分:0)

如果他们真的希望它具有灵活性,他们应该将数据放入数据库中。这是一个比平面文件更可靠的方法。为基本数据构建CRUD(创建/更新/删除)Web界面非常简单。

数目:

  1. 使用jQuery等,搜索JSON对象数组或XML树非常容易。

  2. 没有。使用MySQL,SQL服务器,除了平面文件之外的任何东西。

  3. PHP中的文件IO:http://www.developertutorials.com/tutorials/php/file-access-php-050623/page1.html

  4. 使用数据库。没有现代Web应用程序将数据存储在平面文件中。

  5. <磷>氮。如果他们坚持使用平面文件版本的数据,请在网站上提供一个页面,该页面将生成数据库中的内容的XML或JSON版本。这应该让他们感到高兴,但要将数据保存在一个对应用程序有意义的地方。

答案 3 :(得分:0)

JSON听起来像是一个不错的解决方案,因为客户端限制需要平面文件。如果您使用PHP的内置jsonencode()和jsondecode()函数,那么段落长度数据应该没有任何问题。

您将不具备与MySQL等关系数据库相同的查询能力,但如果您一次只需要在一个文件中进行搜索和修改,那么在PHP中这很容易做到在使用jsondecode()和一些PHP的数组函数之后。虽然一次搜索多个文件会相当具有挑战性,但我建议使用可搜索的数据库而不是平面文件。

要在PHP中打开文件,请查看函数file_get_contents()和file_put_contents()。

http://us.php.net/manual/en/function.file-get-contents.php

http://us.php.net/manual/en/function.file-put-contents.php

所有这一切,除非你真的需要使用平面文件,否则其他海报是正确的,数据库将是一个更通用的方法。如今,JSON和XML用于传输数据而不是存储数据。 MySQL有许多预构建的接口(如PHPMyAdmin),允许您在不使用SQL查询的情况下搜索和修改数据。