json动态添加数据

json动态添加数据,第1张

向json中添加数据 var json = {}json.name="test"上面的代码就会在json这个对象中添加了一个数据 向数组中添加数据 var array = new Array()var obj = new Object()obj.name="test"array.push(obj)这里是添加的一个对象,你也可以直接添加一些字符串等类型的数据

2013-04-01 *

JSON(JavaScript

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.addJSONData和addRowData有点区别,后者是绑定在jquery对象的,前者是绑定在标签上的。

用addJSONData时举例:$("#table")[0].addJSONData(data)

用FF可以看到$("#table")[0]上绑定的事件的。

2.addJSONData接受的参数:

这是后台的.net代码

new JObject() {

new JProperty("total","1"),

new JProperty("page","1"),

new JProperty("records","3"),

new JProperty("rows",yourArrayData)

}

可以看到addJSONData接受的并不是一个数组,就是一个json对象,开始一直也困扰在这里。

前台返回的JSON:

{"total":"1","page":"1","records":"3","rows":[{"UserID":1,"UserName":"kp","Password":"123","Domain":null,"RoleID":null},{"UserID":2,"UserName":"kptest","Password":"Kp123","Domain":null,"RoleID":null},{"UserID":3,"UserName":"ricky","Password":"123","Domain":"XSUNT-SH\\dong.geng","RoleID":1}]}

3.还有一点需要注意的,jqgrid需要定义一个jsonReader其中的repeatitems如果不指定为false FF会返回obj is undefined

jsonReader: {

repeatitems: false,

rows: "rows",            

total: "total",

page: "page",

records: "records"

}

4.$("#table").addJSONData(data)的调用位置也值得注意,最后只有在loadComplete中才能加载出数据,gridComplete里不可以,方法外也不行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11825959.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存