Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1416087
  • 博文数量: 264
  • 博客积分: 5810
  • 博客等级: 大校
  • 技术积分: 3528
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 17:15
文章分类

全部博文(264)

文章存档

2011年(264)

分类: 系统运维

2011-05-26 07:48:54

1. JSON  JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
所以解析JSON对象的话JS非常简单示例
  1. function showJSON() {   
  2.     var user =    
  3.     {    
  4.         "username":"andy",   
  5.         "age":20,   
  6.         "info": { "tel""123456""cellphone""98765"},   
  7.         "address":   
  8.             [   
  9.                 {"city":"beijing","postcode":"222333"},   
  10.                 {"city":"newyork","postcode":"555666"}   
  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. }   

那我想将Javascript里面的一些对象比如数组、函数、类转成JSON对象怎么办呢?可以使用第三方的一个JS包
JSON提供了json.js包,下载 后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。

那如果我想将一个字符串的东西转成JS里面的JSON对象又怎么办呢?
答复:eval()
  1. function myEval() {   
  2.     var str = '{ "name""Violet""occupation""character" }';   
  3.     var obj = eval('(' + str + ')');   
  4.     alert(obj.toJSONString());   
  5. }   
这个很有用的。AJAX里面接收到的数据一般是字符串然后我可以将其转换成json对象。这样就可以直接使用了!

还有另外一种办法就是使用
或者使用parseJSON()方法!效果一样

一段示例
java 代码
  1. response.getWriter().print("{ \"name\": \"Violet\", \"occupation\": \"character\" }");  

再在页面中写一个ajax的请求

js 代码
  1. function sendRequest() {   
  2.     var url = "/MyWebApp/JSONTest1";   
  3.     var mailAjax = new Ajax.Request(   
  4.         url,   
  5.         {   
  6.             method: 'get',   
  7.             onComplete: jsonResponse   
  8.         }   
  9.     );   
  10. }   
  11.   
  12. function jsonResponse(originalRequest) {   
  13.     alert(originalRequest.responseText);   
  14.     var myobj = originalRequest.responseText.parseJSON(); //转成JSON对象之后再使用  
  15.     alert(myobj.name);   
  16. }   

阅读(1918) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~