对于json多维解析的一些理解

struts可以使基于json的ajax交互变得简单

 1 $.post("../public_info/information!showCounties.action?dt="+new Date().getTime(),{"cityId":$("#work_city").val()},
 2                 function(data){
 3                     $("#work_county").empty();
 4                     var json = eval(data);
 5                     if(json!=null){
 6                         $("#work_county").attr("disabled",false);
 7                     }else{
 8                         $("#work_county").attr("disabled",true);
 9                     }
10                     $.each(json,function(i,n){
11                         $("#work_county").append("<option value='"+n.lid+"'>"+n.locationName+"</option>");
12                     })
13                 },"json")

但是在获取data之后可能会遇到解析的一些问题,如返回的data是以下格式:

{"authorities":null,"cities":[{"lid":350100,"locationName":"福州市","pid":350000},{"lid":350200,"locationName":"厦门市","pid":350000},{"lid":350300,"locationName":"莆田市","pid":350000},{"lid":350400,"locationName":"三明市","pid":350000},{"lid":350500,"locationName":"泉州市","pid":350000},{"lid":350600,"locationName":"漳州市","pid":350000},{"lid":350700,"locationName":"南平市","pid":350000},{"lid":350800,"locationName":"龙岩市","pid":350000},{"lid":350900,"locationName":"宁德市","pid":350000}],"cityId":0,"counties":null}

现在想提取cities对象的一些属性,如果直接用data.cities(对象.属性 适用于json格式)来获取肯定会出现错误。所以在此之前需要做一个转化将data转换成json格式而后才可用上述方法访问属性:

1 var json=(eval('('+data+')')).cities;

此篇仅仅是个人理解,希望高手指正!

 

 

posted @ 2013-01-03 08:51  <逍遥人生>  阅读(1932)  评论(0编辑  收藏  举报