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