热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ajax解析JSON数据

JSON(javascriptobjectnotation“标记)是一种常用的数据交换格式,与XML类似。其格式为{name:value,...}。逗号相隔的为同级的元素,还可以嵌套包含多层,如{list:[{name:张三,sex:female},{name:李四,sex:female}...]...}。从上可以看

      JSON(Javascript object notation“标记")是一种常用的数据交换格式,与XML类似。其格式为{name:value,...}。逗号相隔的为同级的元素,还可以嵌套包含多层,如{"list":[{"name":"张三","sex":"female"},{"name":"李四","sex":"female"}...]...}。从上可以看出list为下面{"name":"张三","sex":"female"}的父层。它既可以表达一个简单的key/value,也可以表达一个复杂的Map或List,而且它是易于阅读和理解的。

利用jquery请求json类型的数据有很多种方式,在此列出两种。

1.$.getJSON(url,params,function()),利用这一方法可以有效的取出JSON类型的数据,url:取得JSON数据的url地址,params:所带的参数,如无可以直接不写。function:为返回JSON数据的处理函数。

//如下:利用getJSON函数取得JSON格式的对象数据,再用$.each进行遍历,data.list表示对JSON对象里面的key为list的子对象遍历,index表示下标,item表示每次遍历的那个对象。通过itme.属性名 可以得到该属性值

$.getJSON("testjson!getJson.do",{t:new Date()},function(data){
    $.each(data.list,function(index,item){
     alert(item.address);
   })

2.使用$.ajax()取得json对象。

//其中设置 dataType:"json",使得返回来的数据格式为json。如果不添加该条属性,则返回来的为字符串。字符串对象可以通过eval("("+data+")")方法转成json对象,但该方法不推荐使用,对于取数据的操作同上。区分data为JSON对象还是字符串,可以通过alert语句进行打印,如果是Object object就是JSON对象,如果将内容显示出来则为字符串。

$.ajax( {
     type : "POST",
     url : "testjson!getJson.do",
     dataType:"json",
     cache:false,
     async:false,
     data : "",
     success : function(data) {
      //var object = eval("("+data+")");
      $.each(data.list,function(index,item){
       alert(item.trueName);
      })
     }
    });



推荐阅读
author-avatar
勇往直前
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有