您的位置:首页 > Web前端 > JavaScript

js数组与 json 的区别

2015-06-27 14:21 567 查看
一,数组

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://asyty.iteye.com/blog/1260933

关于JSON(JavaScript Object Natation),简单的说就是轻量级的用于交换数据的格式,基于javascript 语法的子集,即数组和对象表示。

Javascrip数据类型,对象与数组:

javascript 的数据结构主要有以下四种基本数据类型,string,number,boolean,null,js还有复杂的数据结构,即对象。我们可以把数组看成一种特殊的对象。对象和数组里都可以包含不同的类型,包括对象和数组。

js对象的定义如下:

var boy= {

“name”: “xiaoming”,

“age” : 4,

“city” : “杭州”

“hasBrother”:true

};

对象可以看成是容器,里面装了许多的key-value对,类似于java里Map
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: