我应该只使用JSON来使用JSON吗


11

我正在使用PHP / MySQl后端构建一个学习博客站点。所有用户输入都使用POST请求中发送的表单进行处理。

使用JSON是否会使其更清洁或更易于维护或添加功能?还是我只是无缘无故地添加交换格式?

因此,从本质上讲,使用JSON最好地实现什么功能?


4
有什么选择?发明自己的数据格式?

@delnan:Yaml,CSV。我可能会想到其他一些。
罗伯特·哈维

10
为了使用明智的计划,很少使用blah。查看JSON的优点,然后考虑将JSON用于这些特定方面是否值得。
whatsisname 2012年

@RobertHarvey:或者,标准的HTTP形式。
cHao 2012年

7
I'm building a blogging site for learning-您学习相关技术吗?还是为他人提供材料?如果是前者,则绝对是-为了使用它而使用json,以便您学习使用它。用新技术挑战自己-否则,您将不会学习如何使用它们。

Answers:


15

JSON有一些优点:

  • 这是一种结构化的格式,可以使用现有的成熟工具进行验证和解析。
  • 它可以轻松地讲JavaScript,这对于AJAX通信非常有用。
  • 它非常简单轻巧。任何您想使用XML数据交换的东西,JSON通常都是更好的选择。

我的经验法则是,如果您只需要从调用中返回单个语义元素,则将其作为纯文本发送。但是,如果您需要返回多条信息,请使用JSON。


6
在讲JS部分时,请不要使用eval来获取其值,而应使用大多数浏览器中可用的JSON.parse
棘手怪胎

1
它也很容易对PHP讲,因为json_decode()json_encode()可以在JSON字符串和本机Array()数据结构之间进行转换
Izkata 2012年

仅当服务器具有这些功能时,才使用@Izkata。
Darth Egregious

除非是表单提交,否则使用JSON会违反标准。为什么要修复未损坏的东西?
布伦丹·朗

2
@BrendanLong:该标准没有说明使用或不使用JSON。显然,如果要提交表单,则应根据HTTP标准对所有数据进行编码。但是,如果您要发送的表单元素之一是包含多个语义元素的复杂项目,则将该元素放入JSON格式(然后由您的HTTP库正确编码)是一种不错的选择。
梅森惠勒

5

对于您所描述的内容-听起来像一个博客平台,所有内容都通过表单提交-不,您不需要将所有内容都转换为JSON。PHP为您无缝处理表单。在这种情况下,没有理由引入新的并发症。

同样,在您的特定情况下,如果需要将半结构化数据发送 Web浏览器则可以使用JSON。在浏览器端,JSON很容易在javascript中解析出来。


2

JSON仅在您打算建立一个使用Ajax请求将数据传递到服务器/获取要显示的数据而不进行完整回发的JavaScript重站点时才有用。如果您不打算使用JSON来使用该功能,则只需将代码包装在必须进行序列化/反序列化的另一层中,以执行任何有用的操作。


1

我认为实施JSON并不会从本质上改善您的网站。JSON是JavaScript对象表示法;因此,除非您也开始学习JavaScript,否则在确保一切都以JSON表示时,我看不到内在的价值。


您无需学习JavaScript即可使用/滥用JSON。它与语言无关。
CokoBWare 2012年

0

尽管JSON具有非常好的可扩展性和结构,但它并不是最快的。

JSON非常适合将数据从服务器发送到客户端,因为它解决了编码问题。

但是在服务器上,您需要最高的性能和最低的磁盘空间消耗。因此,对于表,您应该使用MySQL列,对于非表,则首选二进制格式。

要解决二进制文件的可扩展性问题,您可以使用4个字符的代码标记结构名称,使用1至2字节的代码标记版本。


6
JSON是一种数据格式,而不是数据库。
罗伯特·哈维

是的,但是它可以用来存储数组。
Triang3l 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.