json教程

json教程

本节重点介绍JSON。JSON(JaScript Object Notation)是一种轻量级的数据交换格式,我们称之为JaScript对象表示。换句话说,JSON是一种格式。首先明确三个概念,即什么是JSON字符串,什么是JaScript对象,什么也叫JSON对象?先说一件事。在JSON之前,前台页面、Ja等服务器层是如何传输数据的?是的,它是通过XML传输的。例如登录页面。

页面上有两个用户名和密码输入框。当我单击登录按钮时,这两个数据将被传递到服务器层。那么,如何传递呢?如果使用XML,可能是这样的:

& ltLoginData & gt& lt名称& gt张三& lt/name & gt;& lt密码& gt123 & lt/password & gt;& lt/log in data & gt;

后台收到这个数据,然后就可以开始解析,最后得到两个字面量,张三和123。再把时间线往前推。在XML出来之前,我们应该怎么做?聪明的开发者会指定几种特殊的格式,拼接一个特殊的字符串,传递给后台。像这样:

\”张三& amp密码=123 \”

后台的程序员也知道这个规律。如果是Ja,他们可以使用String的splite方法。先把字符串通过逗号分成两个字符串:name =张三和password=123,然后“=”又分成“name =张三”和“password=”最后终于得到了我的用户名和密码。

接下来,我们来说说JSON。实际上,JSON是一种数据格式。比如:

{ key1 : value1,key 2:value 2 };这种格式是JSON格式,是一系列键值对的集合。不同的键值对之间用逗号分隔,最后一个键值对不需要加逗号。符合这种格式的字符串是JSON字符串。例如:

“{\’name\’: \’Jack\’}”毕竟还是字符串,不是对象。JSON对象实际上是一个Jascript对象,我们可以通过文字值直接创建一个对象,比如:

Var person = {name: \’Jack\’}相当于:

Var person = {\’name\’: \’Jack\’}在上面的例子中,名字可以用单引号、双引号括起来,甚至什么都不用。右边的值必须是真实的,比如一个字符串,或者一个对象,甚至是一个函数。我们不考虑JS内部的对象机制,只是简单说明有这么一个东西。这就是所谓的jsON对象,也就是JS对象。在JaScript中,对象是键值对的集合,符合JSON格式。我们可以通过以下方法将JS对象转换成JSON格式的字符串。

var person = {\’name\’ : \’Jack\’}alert(JSON.stringify(person));

但是,如果使用括号,您可以:

var obj = { 123 : \’Hello JaScript!\’};var id = obj[\’123\’];alert(id);

如你所见,我们成功挖掘了四个属性。如果你不明白我在说什么,我就说得更直白一点,就是,

var obj = { message:\’你好JaScript!\’};obj中有一个属性message,message有四个描述性的东西,分别是可配置(configurable)、可枚举(enumerable)、值(value)和可写(writable)。这四样东西用专业术语叫做属性描述符或数据描述符。目前我们看到的所有数据描述符都被赋予了默认值,我们也可以通过defineProperty方法对其进行个性化设置。

例如,我们将邮件设置为只读:

var obj = { message : \’Hello JaScript!\’};console.log(Object.getOwnPropertyDescriptor(obj,\’message\’));Object.defineProperty(obj,\’message\’,{ writable:false});obj.message = \’haha\’;alert(obj.message);

这是严格模式。别问为什么就好。我不告诉你,因为我不明白。我只知道可以这样写,所以接下来的操作会报错。

本文在这里对JSON做一个简单的介绍。至于深入学习,请自行百度。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论