Object
Notation
)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,JSON是JavaScript原生数据格式。
下面给大家介绍js数组添加json数据的两种方式。
//
第颤枯弊一种方式
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)
}
//
第二种方式
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,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)
结果都为:'空闲闲置期'
1、先定义一个json变量。敏宽
2、然后定义这个变量的值,其实一个json对象就是一个obj对象。
3、要添加json对象的元素,直接使用数组下标方式,添加键和值就行了。
4、要为json对象添加对谈腔象,我们可以先创建一个对象。
5、然后也是使用数组下标方式,为其赋值为新的对象变量就行了。
6、在浏览器里,我们就桥侍亮可以看到这个json对象了,而且新加的元素和对象都已经在里面了。
函数不需要 return,因为 json 对象会被函数直接修改。
var str1 = {"name": "apple", "sex": "21"}// 参数:prop = 属性,val = 值
function createJson(prop, val) {
// 如果 val 被忽略
if(typeof val === "undefined") {
// 删除属性
delete str1[prop]
}
else {
// 添加 或 修改
str1[prop] = val
}
}
下面为测试
// 无改动,输出 Object {name="apple", sex="21"}console.log(str1)
// 添加属性 color,值为 red
createJson("color", "red")
// 输出 Object {name="apple", sex="21", color="red"}
console.log(str1)
// 修改属性 name 的值为 banana
createJson("name", "banana")
// 输出 Object {name="banana", sex="21", color="red"}
console.log(str1)
// 删除肆冲属性 sex
createJson("sex")
// 输出 Object {name="banana", color="red"}
console.log(str1)
函数应前扰该有三个参数的,第一个为 json 对象,但应你要求,裂悔歼只写了两个,所以函数只能用于修改 str1。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)