2010-03-23 24 views
2

JSON代表JavaScript Object Notation。但是如何像php,java,c等语言也可以与json进行通信。了解json

我想知道的是,我是否正确地说json不仅限于js,而是作为应用程序在网络上彼此通信的协议,这与XML的目的相同?

+1

JSON是一种旨在帮助传输JS Ajax调用数据的媒体。 但这并不意味着它不能用于其他事情。一辆汽车的目的是帮助你从A移到B,但它也可以用来投掷自己的悬崖。 – Iraklis 2010-03-23 09:52:54

回答

1

很容易让JS脚本解析JSON,因为它可以使用“EVAL”中的JS ENGINGE可以使用它的全部力量来完成。

在另一方面,它是比较复杂的,从内JS生成JSON。通常使用来自www.json.org的JSON包,其中使用JSON.stringify可以轻松地对对象进行序列化,但是它以JS实现,因此不能以最佳性能运行。

所以连载JSON是关于使用JS使用Java,PHP或任何其他服务器端语言时一样复杂。

因此,在我看来,JSON是最适合当有生产者/消费者之间的不对称性如一个Web服务器,用于生成Web应用程序使用的大量数据。而不是相反。

但是!当选择JSON作为数据格式时,它应该在两个方向上使用,而不是XML <> JSON。除了使用简单的get请求来检索JSON数据。

0

是的,JSON也被广泛地用作数据交换协议,就像XML一样。 通常情况下,一个程序(不是用JavaScript编写的)需要一个JSON库来解析和创建JSON对象(尽管你甚至可以在没有它的情况下创建它们)。

0

您的权利 - 这是一个轻量的数据交换格式 - 在更多的细节:http://www.json.org

0

你是完全正确的。数据应该如何格式化的JSON定义。它比XML重量轻,因此非常适合AJAX等需要快速向服务器发送数据的应用。

4

JSON不能处理复杂的数据层次结构,如XML可以(属性,命名空间等),但在另一方面,你与XML让你不要用JSON相同的开销(如果你不需要复杂的数据结构)。

由于JSON是一个特殊的符号纯文本JS解释,这是一个简单的协议在其他语言中采用。