js数组如何添加json数据及js数组与json的区别

JSON(JavaScript Object Notation )是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,JSON是JavaScript原生数据格式。

下面给大家介绍js数组添加json数据的两种方式。

// 第一种方式

rush:js;"> personInfo : [],for(var i = 0; i < _STAGE.passengerInfoArray.length; i++){ var name = _STAGE.passengerInfoArray[i]; var person = {v:name,text:name}; this.personInfo.push(person); }

// 第二种方式

rush:js;"> var passengerInfo = {}; passengerInfo.psgTypeDesc = psgTypeDesc; passengerInfo.flightPrice = flightPrice; _STAGE.passengerInfoArray.push(passengerInfo);

js数组与 json 的区别

一,数组

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,4],[4,5,6,7,8]]; alert(s1[1][0]);

结果为2;

二,定义json对象

1,json对象

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

结果为:Object:Object;

2,json字符串

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

rush:js;"> 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对象的使用

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

两个都为:闲置期

4,json二维对象

rush:js;"> var status_process = { name5 : {name3:'空闲闲置期'},name4 : '采收期' }; alert(status_process["name5"]["name3"]); alert(status_process.name5.name3);

结果都为:'空闲闲置期'

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...