{
"seeionkey": {
1: {
"2": {
"qty": 1,
"works": 1,
"price": 500
},
"3": {
"qty": 1,
"works": 1,
"price": 500
}, "total": {
"qty": 2,
"works": 2,
"price": 1000
}
},
"总计": {
"总工时": 100,
"总费用": 200000
}
}
}
首先你这个JSON是有点问题的。1: {这里的1表示key,请尽量用引号引上。
第二。json不是这么赋值。如下赋值是可以的。
var xx = {"1":"2"}//赋值一个新的值
xx.newValue = "3333"
console.log(xx)
//打印出来的值是:{ "1"="2", "newValue"="3333"}
你试试吧
jquery对json 键值对或数组的增加、删除、遍历 *** 作的代码如下:
var jsonStr={}
//增加jsonStr["name1"]="yu"jsonStr["name2"]="jin"jsonStr["name3"]="sheng"
$.each(jsonStr,function(_key)
{ console.log("Push结果:"+_key+"=="+jsonStr[_key]+"\r\n")})
//遍历$.each(jsonStr,function(_key)
{ var key = _key
var value = jsonStr[_key]
if(_key=="name1")
{ //删除 delete jsonStr[_key]
}
})
$.each(jsonStr,function(_key){ console.log("删除后的结果:"+_key+"=="+jsonStr[_key]+"\r\n")
})
输出结果为:
扩展资料:
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。
jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档 *** 作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。
jQuery的模块可以分为3部分:入口模块、底层支持模块和功能模块。
在构造jQuery对象模块中,如果在调用构造函数jQuery()创建jQuery对象时传入了选择器表达式,则会调用选择器Sizzle(一款纯JavaScript实现的CSS选择器引擎,用于查找与选择器表达式匹配的元素集合)遍历文档,查找与之匹配的DOM元素,并创建一个包含了这些DOM元素引用的jQuery对象。
浏览器功能测试模块提供了针对不同浏览器功能和bug的测试结果,其他模块则基于这些测试结果来解决浏览器之间的兼容性问题。
在底层支持模块中,回调函数列表模块用于增强对回调函数的管理,支持添加、移除、触发、锁定、禁用回调函数等功能。
异步队列模块用于解耦异步任务和回调函数,它在回调函数列表的基础上为回调函数增加了状态,并提供了多个回调函数列表,支持传播任意同步或异步回调函数的成功或失败状态。
数据缓存模块用于为DOM元素和Javascript对象附加任意类型的数据;队列模块用于管理一组函数,支持函数的入队和出队 *** 作,并确保函数按顺序执行,它基于数据缓存模块实现。
参考资料:
百度百科--jQuery
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里不可以,方法外也不行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)