json初级

Json:

 javascript  Object Notation,javascript对象表示法

json并不属于javascript,他是javascript的一个严格子集,是一种数据格式,而不是一种编程语言,所以很多的语言都有针对Json的解析器和序列化器。

   json不支持变量,函数或对象实例,他就是一种表示结构化的数据格式。json一种可以写成三种表示方法:


第一种:简单值:

json中可以表示字符串,数值,布尔和null,就是不能表现成undefined。在学习json的时候给我的感觉就是和其他的格式没什么区别就是必须要用" "双引号,这也是印象最深的。javascript是弱类型的编程语言,所以给我的感觉就是一直很随意,不像是java要求的那么严格,java中严格的区别单引号和双引号,而在js(之后我也只写缩写了)里面如果是拼接字符串的时候可能会强调双引号套单引号,或者是反过来,其他的时候基本不做要求。在json中的字符串必须是双引号的,这是json和js的字符串最大区别。如"Hello world",单引号会出错。

第二种:对象:

js的对象字面量是可以给属性加上引号的,不过你之前的时候用过?见到过吗?因为js的属性是不强制要求写引号的,不过有一个这个例子:

    var obj={'0':'a','1':'b','2':'c',length:3}
    console.log(obj[0]);
    console.log(obj.length);

输出:a和3;
在js中定义一个对象字面量可以:
var object={
"name"
{
"name":"Nickhun"
"age":30
}
如果是json的话就是:

{
"name":"Nickhun",
"age":30
}
区别在哪?不是人名,是json首先没有声明变量,因为一开始就说了json不支持变量,其次是json不需要后面的分号,但是必须给属性加双引号。
在js中的对象中经常用到json,因为json可以直接的传给我们全局函数eval()进行运算,而不用创建DOM。
{
"name":"Junho",
"age":28,
"school":{
"name":"shizongda",
"Location":"N.Korea"
}
}
其中的两个name属性分别在两个不同的对象中,这个不懂的看看作用域,闭包啥的吧哈。
第三种:数组:
 json数组就是采用的js的形式,看起来好像也没什么区别,就是注意json中不能包括的点就行:
js数组:var arr=[22,"yc",treu,null];
json数组:[22,"yc",true,null]
还是那两个区别没分号,没变量;
json的结构的最外层形式一般是对象和数组;
[{},{},{}.....]对象数组,数组里面的对象有是想上个例子中的一样,是json的,属性对应的值又可以是json对象,或者是数组。
  这是今天要说的基础部分,恩恩,明天继续,json和zepto,双十一快递太多今天就到这里。




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yc2222/article/details/78533735
文章标签: json javascript 前端
个人分类: javascript
想对作者说点什么? 我来说一句

springmvc做的接口

2015年04月17日 8.47MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭