json是JavaScript Object Notation的简写,它是一种轻量级的数据交换格式,而且表达上很容易靠字面去理解。json是用于存储和传输数据的格式,通常用于向服务器端传递数据。

*************JSON**************

1.我们上一节介绍了对象,这一节我们将介绍json,json既然是一种数据的传输方式,那么它也必然会有自己的语法规则,它的语法规则如下:由大括号保存对象,由方括号保存数组,数据以键值对的方式存储,而且多个数据之间需要用逗号分开。

2.比如下面就是一个很经典的json格式:

{"team":[
{"name":"辛星","age":23},
{"name":"小倩","age":20},
{"name":"小楠","age":20}
]}

3.从语法规则上来看,team这个键对应的值是一个数组,而数组分为三个对象,第一个对象的第一个属性是name,值是辛星,第二个属性是age,值是23,其他对象也同理。

*************显示json数据*************

1.既然我们已经知道了json数据的结构,那么我们就开始解析json把,我们可以使用Javascript自带的JSON.parse的方式去解析它,解析完毕之后,它就可以像正常的对象和数组那样使用了,非常的简单。

2.比如我们看如下代码:

var msg = '{"team":[{"name":"辛星","age":23},{"name":"小倩","age":20},{"name":"小楠","age":20}]}';
var obj = JSON.parse(msg);
alert(obj.team[1].name +obj.team[1].age);

3.然后我们导入该css文件,就会发现它弹出一个窗口,显示内容为小倩20。

4.这里需要注意一点的就是这个字符串msg中间不能有空格或者换行符,否则容易导致解析不正确。

5.因此,我更推荐如下的书写形式:

var msg = '{"team":['+
'{"name":"辛星","age":23},'+
'{"name":"小倩","age":20},'+
'{"name":"小楠","age":20}'+
']}';
var obj = JSON.parse(msg);
alert(obj.team[1].name +obj.team[1].age);

************关于JSON的解析**************

1.其实不用我说,我想大家也都明白,既然json只是一种数据格式,那肯定是跨语言的。

2.而且Javascript的很多框架也是支持json的解析的,这一点还是蛮好的。

2014年辛星完全解读Javascript第八节 json的更多相关文章

  1. 2014年辛星完全解读Javascript第一节

    ***************概述*************** 1.Javascript是一种原型化继承的基于对象的动态类型的脚本语言,它区分大小写,主要运行在客户端,用户即使响应用户的操作并进行数 ...

  2. 2014年辛星完全解读Javascript第七节 数组和对象

    由于Javascript是脚本语言,因此,使用起来非常方便,数组的使用也是比较简单的,下面我们就主要介绍一下Javascript中数组的介绍,以及上一节中没有完成的对象的介绍. *********** ...

  3. 2014年辛星完全解读Javascript第六节 对象

    随着面向对象的普及,现在很多语言都在支持面向对象,Javascript也不例外,所谓对象,就是拥有属性和方法的数据.这里的属性其实就是变量,这里的方法,其实就是函数.但是Javascript的面向对象 ...

  4. 2014年辛星完全解读Javascript第五节 break和continue与错误处理

    先说一下break和continue的主要用法吧,break用于跳出循环,continue用于跳过该循环中的一个迭代.简单的说,就是break直接从该语句跳出,但是continue不会跳出该循环语句, ...

  5. 2014年辛星完全解读Javascript第四节 流程控制语句

    上一节我们介绍了函数,本小节我们介绍一下流程控制语句,对于任何一门编程语言来说,流程控制都是非常重要的,也就是我们常说的顺序结构.选择结构和循环结构. ************选择结构******** ...

  6. 2014年辛星完全解读Javascript第三节

    经过第一节的入门和第二节的运算符,那么接下来我们就可以学习Javascript的函数了,当然了,不管大家之前学习的是什么编程语言,都会有函数的概念,如果大家学的是Pascal,还会有”过程“的概念,但 ...

  7. 2014年辛星完全解读Javascript第二节

    本小节我们讲解一下Javascript的语法,虽然js语言非常简单,它的语法也相对好学一些,但是不学总之还是不会的,因此,我们来一探究竟把. ********注释************* 1.我们通 ...

  8. 2014年辛星全然解读html第八节

    经过前面七节的学习,我感觉大家的HTML的功底也差点儿相同了,并且我特别的删去了某些东西,比方框架,假设回到几年前,那么框架是很流行的,可是如今都到了2014年了,这些东西早就该被遗忘了,因此,我果断 ...

  9. 2014年辛星jquery解读第三节 Ajax

    ***************Ajax********************* 1.Ajax是Asynchronous Javascript And  XML的简写,它指的是异步Javascript ...

随机推荐

  1. 泛型类型转为DataTable类型

    public static DataTable ConvertToDatatable<T>(IEnumerable<T> data) { PropertyDescriptorC ...

  2. JavaScript开发之路01(初识Sencha Touch框架)

    一.SenchaTouch的hello world实例: Ext.application({ name:'myapp', icon:'images/icon.png', glossOnIcon:fal ...

  3. android开发之路11(用SharedPreferences存储数据)

    Android平台给我们提供了一个SharedPreferences类,实际上SharedPreferences处理的就是一个key-value(键值对),它是 一个轻量级的存储类,特别适合用于保存软 ...

  4. 解决浏览器background-image属性不支持css3动画

    问题 最近在使用background-image属性来实现css3的逐帧动画时,碰到了个问题.在chrome浏览器上,background-image属性是支持css3动画的,但是到了firefox上 ...

  5. CF Tanya and Postcard

    Tanya and Postcard time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  6. 使用Mat分析大堆信息

    在定位一线问题时经常碰测试中出现Out Of Memory的问题, 通过jmap查看,发现JVM heap全用满了.有很多工具可以查看JVM堆的信息, 收费的比如JProfiler, YourKit, ...

  7. hdu 3440 差分约束

    看完题目第一遍,感觉很简单.当写完程序跑测试用例的时候,发现第二个总是过不了,然后好好研究了一下测试用例,才知道原来不是程序有问题,而是我的建图方式错了.对于这些无序的点,如果高的在右边,不等式是di ...

  8. 虚拟机 VirtualBox 自制帮助文档

    初学 VirtualBox ,网络上教程很多,图片一张一张的费流量,讲得又比较散,于是花了一下午制作了此 CHM 帮助文档. 下载:(图片另存为--重命名为 RhinoC.rar --解压缩)

  9. cent0s7 显卡驱动导致重启黑屏

    由于 CentOS7.0 版本与前面的 CentOS6.5 及之前的版本的模式变更方法有很大 的不同,以前的版本中我们可以在vi /etc/inittab 文件中将id:5:initdefault 更 ...

  10. 单击改变input的边框颜色

    input边框变色   今天布局页面的时候发现设计稿多了一项要求,就是点击input框的时候要求框框变色,以前没有遇到过,平时很多时候都用的:hover这次想着一样吧,看了之后发现不是想要的效果,ho ...