以前一直没有弄过json这个东西,今天弄了一个jquery处理json实例,感觉挺简单,方便的发到这里来与大家一起分享。
功能:jquery处理json实现
作者:wangsdong
来源:www.aspbc.com
原创文章,转载请保留以上信息
假设服务器生成json字符串的文件是json.asp,生成的json字符串的内容是:{"weatherinfo":{"province":"江苏省份","city":"南京"}},
json.asp的代码如下: <% str="{""weatherinfo"":{""province"":""江苏省"",""city"":""南京""}}" response.write str %>(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
现在要把里面的省份和城市放到html页面的指定位置。所以这里就需要用到jquery的get、post或者是ajax提交到json.asp,来得到json字符串,具体代码如下:
第一种方法:
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $.get("json.asp?t="+Math.random(), function(data){ eval("jsonobj="+data); $("#p1").html(jsonobj.weatherinfo.province); $("#c1").html(jsonobj.weatherinfo.city); }); }); </script> <div>省份:<span id="p1"></span><br />城市:<span id="c1"></span></div>(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
运行一下这个html页面,省份和城市后面是不是得到了json字符串中的省份和城市了,是不是很简单的。
或者还有一种写法:
第二种方法:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $.getJSON("json.asp?t="+Math.random(), function(json,status) { $("#p1").html(json.weatherinfo.province); $("#c1").html(json.weatherinfo.city); }); }); </script> <div>省份:<span id="p1"></span><br />城市:<span id="c1"></span></div>(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
这种比前面的那种写法,直接将json.asp中生成的json字符串,转成json去了,可以直接使用。
第二种方法对现在这个例子来说,优势比第一种好不了多少,但对大数据量的时候来说,就能看出来它的优势了。以下是它对数组操作的方法:
$.getJSON( "json.asp", {classNum:classNum}, function(json,status) { $.each(json,function(i){ $('#stuDiv').append("<div>学生学号:"+json[i].num+"</div>"); } ); });(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
这样是不是很方便