区分 JS数组 和 JOSN对象

来源:互联网 发布:ug8.5 编程教程pdf 编辑:程序博客网 时间:2024/05/29 15:22
一,数组

1. 定义一维数组:

var s1=new Array();s1=[1,2,3,4]或者s1[0]=1,s1[1]=2,s1[3]=3,s1[4]=4;alert(s1[0]);结果为1;

 2. 定义二维素组:

var s1=new Array();var s1=[[3,1],[2,3,4],3,[4,5,6,7,8]];alert(s1[1][0]);结果为2;

二,定义json对象

1. json对象

var status_process = {     "name5" : '闲置期',     "name1" : '播种期',     "name2" : '苗期',     "name3" : '生长期',     "name4" : '采收期'}   alert(status_process);结果为:Object:Object;


2. json字符串

所谓json字符串,是指该字符串变量的值与json的格式相同,但是不是json对象,比如:

var s1="{";var s2 = " 'name5' : '闲置期',   'name1' : '播种期','name2' : '苗期','name3' : '生长期','name4' : '采收期'";var s3="}";var  status_process=s1+s2 +s3;
虽然status_process的值符合json对象的格式,但是它不是对象,只是一个字符串(是拼凑出来的);
将字符串转换为json对象使用函数eval(),eval("(" + status_process+ ")");
结论:从后台传入到前台的是json字符串,不是真正的json对象,因此需要使用eval函数转换。

3. json对象的使用

var status_process = {    name5 : '闲置期',    name1 : '播种期',    name2 : '苗期',    name3 : '生长期',    name4 : '采收期'};alert(status_process["name5"]);alert(status_process.name5);两个都为:闲置期

4,json二维对象        
var status_process = {     name5 : {name3:'空闲闲置期'},     name1 : '播种期',     name2 : '苗期',     name3 : '生长期',     name4 : '采收期'    };alert(status_process["name5"]["name3"]);alert(status_process.name5.name3);结果都为:'空闲闲置期'


转:http://www.cnblogs.com/linda586586/archive/2012/04/17/2454212.html

0 0
原创粉丝点击