了解json

时间:2010-03-23 09:49:18

标签: java javascript json

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

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

5 个答案:

答案 0 :(得分:4)

JSON无法处理像XML这样的复杂数据层次结构(属性,命名空间等),但另一方面,您不会像使用XML那样获得与JSON相同的开销(如果您不需要复杂的话)数据结构)。

由于JSON是纯文本,有一个特殊的符号供JS解释,因此它是一种易于采用其他语言的协议。

答案 1 :(得分: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数据时。

答案 2 :(得分:0)

是的,JSON也被广泛用作XML之类的数据交换协议。 通常,程序(不是用JavaScript编写)需要一个JSON库来解析和创建JSON对象(尽管你可以创建它们,即使没有它们)。

答案 3 :(得分:0)

您的权利 - 这是一种轻量级数据交换格式 - 详情请参阅:http://www.json.org

答案 4 :(得分:0)

你完全正确。 JSON如何定义数据的定义。它比XML更轻,因此非常适合像AJAX这样的东西,你想要快速地来回发送数据。