json初级

原创 2017年11月14日 18:46:27

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,双十一快递太多今天就到这里。




版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

json初级入门资料

  • 2012年05月07日 23:05
  • 81KB
  • 下载

Cocos2d-x教程(14)-Cocos2d-x 2.2.x版本 Json解析(初级篇)

Cocos2d-x 2.2.0与2.2.1版本中包含了 Jsoncpp 的库,所以我们无需引入Jsoncpp的库文件便可直接使用 Json进行解析...

IOS学习:ios中的数据持久化初级(文件、xml、json、sqlite、CoreData)

一、文件操作      1、因为应用是在沙盒(Sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件:           * Documents:应用中用户数据可以放在这里,i...

Json解析之动态key和key为关键字问题(JAVA初级)

Json解析之动态key和key为关键字问题(JAVA初级)在我们编程过程中Json的数据格式是最常见不过了,并且Json解析的库也有很多比如阿里巴巴的Fastjson、Google的gson、Jac...

Java初级开发中常常遇到的Bug 系列

Java初级开发中常常遇到的Bug 系列 错误信息如下:Attempt to invoke interface method 'boolean java.util.List.add(java.lang...

一步一步学iReport + JasperReports(二) :JasperReport初级教程(2.0.3)图文详解(转)

本文图太多,全挂掉了,原文出处的图也挂掉了,如果有兴趣可以到本人的下载资源下载(不要资源分,但需要登录CSDN,登录这个问题不是我能控制的,没办法)。        本文可以定位于认识I...
  • trocp
  • trocp
  • 2011年10月27日 15:18
  • 49169

Golang初级系列教程-多重继承

Golang初级系列教程-多重继承继承是子类自动获取父类属性和方法的能力。多重继承则是获的多个父类的属性和方法。举一个真实的例子,定义类型 Phone, 那么 MobilePhone 继承自 Phon...

一个初级运维工程师对于运维工作的一些浅显认知

最近因为部门架构调整,之前工作做了交接,新的安排又没有确定,领导建议学习下JAVA开发,后续直接参与到研发工作中而不再负责运维工作。周围同事也都在说运维工作比较low,转研发会好一些。但是毕竟从毕业之...

机器学习算法与Python实践之(二)支持向量机(SVM)初级

机器学习算法与Python实践之(二)支持向量机(SVM)初级zouxy09@qq.comhttp://blog.csdn.net/zouxy09        机器学习算法与Python实践这个系列...
  • zouxy09
  • zouxy09
  • 2013年12月12日 23:46
  • 62712

[人工智能]机器学习知识体系篇(初级篇,中级篇,高级篇)

[人工智能]机器学习知识体系篇(初级篇,中级篇,高级篇)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:json初级
举报原因:
原因补充:

(最多只允许输入30个字)