\
8. [
9. {\
- 25 -
JSON相关文档
10. {\ 11. ] 12. } 13.
14. alert(user.username); 15. alert(user.age);
16. alert(user.info.cellphone); 17. alert(user.address[0].city);
18. alert(user.address[0].postcode); 19. }
这表示一个user对象,拥有username, age, info, address 等属性。 同样也可以用JSON来简单的修改数据,修改上面的例子
6.2 例二
1. function showJSON() { 2. var user = 3. {
4. \ 5. \20,
6. \ 7. \ 8. [
9. {\ 10. {\ 11. ] 12. } 13.
14. alert(user.username); 15. alert(user.age);
16. alert(user.info.cellphone); 17. alert(user.address[0].city);
18. alert(user.address[0].postcode); 19.
20. user.username = \ 21. alert(user.username); 22. }
6.3 例三(json.js包的使用还有些问题)
JSON提供了json.js包,下载http://www.json.org/json.js 后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。
- 26 -
JSON相关文档
1. function showCar() {
2. var carr = new Car(\1968, \
3. alert(carr.toJSONString()); //使用该方法时总是有“对象不支持此属性或方法”的错
误 ,尚未找到问题所在;问题出在json.js中没有定义toJSONString()方法 4. } 5.
6. function Car(make, model, year, color) { 7. this.make = make; 8. this.model = model; 9. this.year = year; 10. this.color = color; 11. }
可以使用eval来转换JSON字符到Object。
1. function myEval() {
2. var str = '{ \ 3. var obj = eval('(' + str + ')'); 4. alert(obj.toJSONString()); 5. }
或者使用parseJSON()方法 1. 2. 3. 4.
function myEval() {
var str = '{ \ var obj = str.parseJSON(); alert(obj.toJSONString());
5. }
解决上述问题的方法代码如下: (1)
var people =
{ \: [
{ \: \, \:\, \: \}, { \: \, \:\, \: \}, { \: \, \:\, \: \} ],
\: [
{ \: \, \: \, \: \}, { \: \, \: \, \: \}, { \: \, \: \, \: \} ],
\: [
{ \: \, \: \, \: \},
- 27 -
JSON相关文档 { \: \, \: \, \: \} ],toJSONString:function(){return(this.programmers[0].firstName)} };
function a(){
alert(people.toJSONString()); } a()
(2)
function myEval() {
var str = { \: \, \: \,toJSONString:function(){return this.name}};
alert(str.toJSONString()); }
7 用JQuery处理JSON
7.1处理从服务器返回的JSON数据
1.页面部分
<%@ page language=\contentType=\pageEncoding=\%> <%@ include file=\%>
<%@ include file=\%>
新增用户
id:${userinfo.id} name:${userinfo.name}
namedesc:${userinfo.userDesc}
查看 修改
- 28 -
JSON相关文档
删除
2. 后台处理部分
List oneList=userInfoMgr.findAll();
net.sf.json.JSONArray jsonArray = net.sf.json.JSONArray.fromObject(oneList); response.setCharacterEncoding(\); response.getWriter().print(jsonArray); return null;
7.2 处理普通JSON数据
7.2.1 例一
1 js代码
$.each( { name: \ function(i, n){
alert( \
});
2.结果
Name:name, Value:John Name:lang, Value:JS
7.2.3 例二
1 js代码
- 29 -
JSON相关文档 $.each( [{ name: \ function(i, n){ alert( \ });
2 结果
Name:0, Value: name:John, lang:JS Name:1, Value: name:Johnd, lang:JSd
7.2.4 例三
1 js代码
$.each( { name: {firstName:\ function(i, n){ alert( \alue:\ }); 2 结果
Name:name, Value:John, ddd Name:lang, Value:undefined, undefined 注:因为lang的值不是JSON数据
7.2.4 例四
Jquery 结合Json控制Select下拉框: