JSON之——与Javascript的情节
来源:互联网 发布:罗氏诊断待遇 知乎 编辑:程序博客网 时间:2024/04/29 12:52
大概半年前,在做“善良公社”项目时,就听组里人在谈论JSON,但自己一直没研究及使用过,前几天看“王兴魁——AJAX”视频时,才算是正式学习了一下,也跟随着完成了个小demo,只不过王兴魁里是以Java为后台语言讲解的。
JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。JSON的规则很简单:对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
所以解析JSON对象的话JS非常简单!!示例:
function showJSON() { var user = { "username":"lianhai", "age":26, "info": { "tel": "123456", "cellphone": "98765"}, "address": [ {"city":"langfang","postcode":"222333"}, {"city":"cangzhou","postcode":"555666"} ] } alert(user.username); alert(user.age); alert(user.info.cellphone); alert(user.address[0].city); alert(user.address[0].postcode); }
二、使用方法
那我想将Javascript里面的一些对象比如数组、函数、类转成JSON对象怎么办呢?
可以使用第三方的一个JS包,JSON提供了json.js包,下载http://www.json.org/json.js 后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。
那如果我想将一个字符串的东西转成JS里面的JSON对象又怎么办呢?答复:eval()
function myEval() { var str = '{ "name": "Violet", "occupation": "character" }'; var obj = eval('(' + str + ')'); alert(obj.toJSONString()); }
——这个很有用的。AJAX里面接收到的数据一般是字符串然后我可以将其转换成json对象。这样就可以直接使用了!
还有另外一种办法:使用parseJSON()方法!效果一样,一段示例:
java 代码
response.getWriter().print("{ \"name\": \"Violet\", \"occupation\": \"character\" }");
再在页面中写一个ajax的请求js 代码
function sendRequest() { var url = "/MyWebApp/JSONTest1"; var mailAjax = new Ajax.Request( url, { method: 'get', onComplete: jsonResponse } ); } function jsonResponse(originalRequest) { alert(originalRequest.responseText); var myobj = originalRequest.responseText.parseJSON(); //转成JSON对象之后再使用 alert(myobj.name); }
这就是对JSON的一个简单介绍。当然,提及“JSON”,就不得不说与“XML”的区别,下篇博客将展开介绍,敬请期待!
0 0
- JSON之——与Javascript的情节
- json的定义与javascript如何使用json之总结
- 江南情节——紫砂壶品茶
- JavaScript之——JSON总结
- 我的刘德华情节
- TOMCAT 的.16情节
- 我的文学情节
- 我的IT情节
- 我的羽毛球情节
- 电影里的情节
- C#的一些情节!
- java的一些情节!
- 开始的情节
- 程序员的大侠情节
- 【JavaScript】(6)——JavaScript与XPath、JSON交互
- JSON — JSON入门与实战详解 —— JavaScript、Java与JSON互转
- JSON — JSON入门与实战详解 —— JavaScript、Java与JSON互转
- JSON — JSON入门与实战详解 —— JavaScript、Java与JSON互转
- 赛车游戏开发总结PHYSX OGRE
- 联想电脑自带win8系统更改win7系统详细教程
- 导致数据库中数据不一致的根本原因
- C++中的二进制、八进制、十六进制表达
- poj 2506 Tiling(递推+大数加法)
- JSON之——与Javascript的情节
- 计算机视觉相关领域论文和源代码大集合
- spring的aop实现
- OpenCV_连通区域分析(Connected Component Analysis/Labeling)
- htmlparser整理
- Python语法
- 模型视图矩阵和投影矩阵
- Android中对MIME类型的理解
- 杭电OJ 1438:钥匙计数之一