jquery没有学过,可以学习json吗

有没有可能让jQuery正确解释JSON中的Date对象? - 知乎32被浏览3624分享邀请回答182 条评论分享收藏感谢收起1添加评论分享收藏感谢收起查看更多回答JSON学习 - JavaScript - web - ITeye论坛
锁定老帖子
该帖已经被评为良好帖
等级: 初级会员
来自: 青岛人在北京
发表时间:&&
相关知识库:
JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。具体细节参考
举个简单的例子:
function showJSON() {
var user =
"username":"andy",
"info": { "tel": "123456", "cellphone": "98765"},
"address":
{"city":"beijing","postcode":"222333"},
{"city":"newyork","postcode":"555666"}
alert(user.username);
alert(user.age);
.cellphone);
alert(user.address[0].city);
alert(user.address[0].postcode);
这表示一个user对象,拥有username, age, info, address 等属性。
同样也可以用JSON来简单的修改数据,修改上面的例子
function showJSON() {
var user =
"username":"andy",
"info": { "tel": "123456", "cellphone": "98765"},
"address":
{"city":"beijing","postcode":"222333"},
{"city":"newyork","postcode":"555666"}
alert(user.username);
alert(user.age);
.cellphone);
alert(user.address[0].city);
alert(user.address[0].postcode);
user.username = "Tom";
alert(user.username);
JSON提供了json.js包,下载 后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。
function showCar() {
var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");
alert(carr.toJSONString());
function Car(make, model, year, color)
this.model
this.color
可以使用eval来转换JSON字符到Object
function myEval() {
var str = '{ "name": "Violet", "occupation": "character" }';
var obj = eval('(' + str + ')');
alert(obj.toJSONString());
或者使用parseJSON()方法
function myEval() {
var str = '{ "name": "Violet", "occupation": "character" }';
var obj = str.parseJSON();
alert(obj.toJSONString());
下面使用prototype写一个JSON的ajax例子。
先写一个servlet (我的是servlet.ajax.JSONTest1.java)就写一句话
response.getWriter().print("{ \"name\": \"Violet\", \"occupation\": \"character\" }");
再在页面中写一个ajax的请求
function sendRequest() {
var url = "/MyWebApp/JSONTest1";
var mailAjax = new Ajax.Request(
method: 'get',
onComplete: jsonResponse
function jsonResponse(originalRequest) {
alert(originalRequest.responseText);
var myobj = originalRequest.responseText.parseJSON();
alert(myobj.name);
prototype-&st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year=".1&/st1:chsdate&.js中提供了JSON的方法,String.evalJSON(), 可以不使用json.js, 修改上面的方法
function jsonResponse(originalRequest) {
alert(originalRequest.responseText);
var myobj = originalRequest.responseText.evalJSON(true);
alert(myobj.name);
JSON还提供了java的jar包 http://www.json.org/java/index.html API也很简单,下面举个例子
在javascript中填加请求参数
function sendRequest() {
var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");
var pars = "car=" + carr.toJSONString();
var url = "/MyWebApp/JSONTest1";
var mailAjax = new Ajax.Request(
method: 'get',
parameters: pars,
onComplete: jsonResponse
使用JSON请求字符串就可以简单的生成JSONObject并进行解析,修改servlet添加JSON的处理(要使用json.jar)
private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException {
String s3 = request.getParameter("car");
JSONObject jsonObj = new JSONObject(s3);
System.out.println(jsonObj.getString("model"));
System.out.println(jsonObj.getInt("year"));
} catch (JSONException e) {
e.printStackTrace();
response.getWriter().print("{ \"name\": \"Violet\", \"occupation\": \"character\" }");
同样可以使用JSONObject生成JSON字符串,修改servlet
private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException {
String s3 = request.getParameter("car");
JSONObject jsonObj = new JSONObject(s3);
System.out.println(jsonObj.getString("model"));
System.out.println(jsonObj.getInt("year"));
} catch (JSONException e) {
e.printStackTrace();
JSONObject resultJSON = new JSONObject();
resultJSON.append("name", "Violet")
.append("occupation", "developer")
.append("age", new Integer(22));
System.out.println(resultJSON.toString());
} catch (JSONException e) {
e.printStackTrace();
response.getWriter().print(resultJSON.toString());
function jsonResponse(originalRequest) {
alert(originalRequest.responseText);
var myobj = originalRequest.responseText.evalJSON(true);
alert(myobj.name);
alert(myobj.age);
等级: 初级会员
来自: 北京
发表时间:&&
看完之后又如醍醐灌顶,太爽了,对Json能了解得更多了
请登录后投票
积分: 1335
来自: 广州
发表时间:&&
sorry
wangcheng,我本来点击良好的,一不小心让我点击成了新手,罪过
我已经发了短信和管理员说了一下子了,让其改过来
请登录后投票
ITeye管理员
等级: 管理员
来自: 北京
发表时间:&&
lighter 写道sorry
wangcheng,我本来点击良好的,一不小心让我点击成了新手,罪过
我已经发了短信和管理员说了一下子了,让其改过来
已经改好。
请登录后投票
等级: 初级会员
来自: 上海
发表时间:&&
最新的json.js 在IE里无法使用,在FF里报错too much recursion但能用。
请登录后投票
等级: 初级会员
来自: 青岛人在北京
发表时间:&&
把我用的这个旧版本放上来吧
描述: json.js
下载次数: 1247
请登录后投票
birdjavaeye
来自: 地球
发表时间:&&
too much recursion很有可能就是JSON无法处理的一种情况:对象循环引用,例如:
var user = { id:1, name:'hi' };
user.friends = [ user ];
user.toJSONString(); // Firefox中报too much recursion错误
这是JSON固有的缺陷如果只需要支持Firefox,那可以用 uneval(user) 得到JSON的变种格式,IE不支持如果要兼容Firefox、IE等,可以使用Objot、PHPRPC、Buffalo这些库来处理,当然格式与JSON是不同的
请登录后投票
跳转论坛:移动开发技术
Web前端技术
Java企业应用
编程语言技术Jquery&EasyUI&json不出现的问题汇总
初学easyui觉得里面控件功能确实强大,然而在学习过程中却碰到两个问题:
一)easyui-panel控件中利用属性href面板中显示其他网页,IE和Chrome浏览器中无法显示,一直处于加载状态,然而火狐浏览器却可以正常加载显示;
二)使用到json数据的地方也同样出现上面的状况,IE和Chrome无法返回数据,火狐可以。
于是想这个应该是浏览器的兼容性问题了网上搜寻方法,看到一个说IIS于是将我制作的网页在IIS中发布,再打开发现第一个问题顺利解决了然而json数据还是无法加载,而且原来火狐可以加载的ii中发布后浏览反而不能加载了这就说明IIS出了问题,后来查阅看到说IIS不识别.json接下来我就在网上找到配置IIS支持.json格式文件的方法,
如果你ii默认没有支持asp那么进入控制面板—顺序—打开或关闭window功能—internet信息服务—万维网服务—应用顺序开发功能,1ii必需开启asp支持。选择asp然后确定。
2开启asp支持后,进入控制面板—系统和安全—管理工具—internet信息服务管理器,打开”MIME类型“点击添加,扩展名写“.json不要引号】MIME类型写”application/x-javascript不要引号】然后确定。
3打开”处置顺序映射“点击”添加脚本映射“请求路径写”*.json不要引号】可执行文件为“C:\Windows\System32\inetsrv\asp.dl通过浏览窗口定位该文件】名称写“JSON再打开请求限制—谓词—下列谓词之一,填写“GET,POST不要引号】两次确定后会弹出提示,点击“然后重启IIS
4通过浏览器访问:http://localhost/xxx.json应该就可以显示json数据了如果呈现下载提示,检查以上方法是否出现拼写错误,如果没有,重启计算机,应该就可以了
重新启动网站,浏览果然json数据在三个浏览器下面都能正常访问了bingoIE和chrome不能读取外地json文件,火狐应该是支持的所以前面两个在为发布前都不能加载,而火狐可以加载了
更多详情请查阅:http://baid.us/neH8
来源:北风网&
原文链接:/ibeifeng/02.shtml
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。2005年1月 PHP大版内专家分月排行榜第三2007年8月 PHP大版内专家分月排行榜第三
2005年1月 PHP大版内专家分月排行榜第三2007年8月 PHP大版内专家分月排行榜第三
2008年8月 .NET技术大版内专家分月排行榜第一
2008年6月 .NET技术大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。

我要回帖

 

随机推荐