jquery解析json数据

1:首先使用工具校验一下你的json串是不是正确。推荐网站http://www.bejson.com/

2:这里我们以下列数据为例

[
    {
        "name": "anzhen",
        "longitude": 119,
        "latitude": 70,
        "errorName": "bridge.pressure",
        "level": 5.1205745,
        "content": "bridge.pressure危险等级为:5.1205745"
    },
    {
        "name": "mingguan",
        "longitude": 118,
        "latitude": 73,
        "errorName": "pipe.dampness",
        "level": 1.4216998,
        "content": "pipe.dampness危险等级为:1.4216998"
    },
    {
        "name": "tiananmen",
        "longitude": 120,
        "latitude": 80,
        "errorName": "pipe.temperature",
        "level": 3.5,
        "content": "pipe.temperature危险等级为:3.5"
    },
    {
        "name": "tiananmen",
        "longitude": 120,
        "latitude": 80,
        "errorName": "bridge.wind",
        "level": 3.3333333,
        "content": "bridge.wind危险等级为:3.3333333"
    },
    {
        "name": "shanghai",
        "longitude": 230,
        "latitude": 90,
        "errorName": "bridge.wind",
        "level": 4.015443,
        "content": "bridge.wind危险等级为:4.015443"
    }
]

 3:

function btn_refresh_onclick(){
	    	$.get("info",null,function(data){
	    	data=eval(data);
			var len=data.length;
		//	alert(len);
			for(var i=0;i<len;i++){
				var loc_lat=0;
				var loc_log=0;
				var des="";
				var flag=0;
				var level=0;
				$.each(data[i],function(key,val){
					if(key=="name"){
						des="name: "+val;
						flag++;
					}
					if(key=="longitude"){
						loc_log=val;
					}
					if(key=="latitude"){
						loc_lat=val;
					}
					if(key=="content"){
						des=des+"\ncontent: "+val;
						flag++;
					}
					if(key=="level"){
						level=val;
					}
					if(flag==2&&loc_log!=0&&loc_lat.length!=0&&level!=0){
						show_point_in_map(loc_log,loc_lat,des,level);
					
						//alert("经度:"+loc_log+" 纬度:"+loc_lat+"\n内容:"+des);
					}
				});//each
			}//for
			});//get
		}//btn_on_click

 以上是解析的代码。首先使用$.get()方法,在回调函数里面对返回的数据进行解析,首先因为我们的json数据是字符串的格式,先要使用eval()函数转换一下。这一步很重要。然后获得data的长度。使用$.each()对每一条json数据进行解析。对照json数据的内容和以上的实例应该很好明白,要是数据有多层的话,反复的使用$.each()方法就可以了。

相关推荐