http://topic.csdn.net/u/20090819/17/cb63785d-9ba8-47f7-aea3-57e1e7534226.htmlfunction retrunMapString()
{
   if(myAjaxObject.readyState == 4)
   {
      if(myAjaxObject.status == 200)
      { 
         var returnJSONString = myAjaxObject.responseText;
         var returnJSON=JSON.parse(returnJSONString);
         var showString="";
         alert(returnJSON[0].length);
         for(var i in returnJSON[0])
alert("属性为:"+i+"=====>"+"值为:"+returnJSON[0][i])
      }
   }
}我在这程序中这样做的为什么alert(returnJSON[0].length);
这行出错而你的FOR却正常的循环,请教

解决方案 »

  1.   

    不是 for循环
    是for in
    便利obj的属性  
    你要便利的{"1":"高洪岩1","2":"高洪岩2","3":"高洪岩3","4":"高洪岩4","5":"高洪岩5"}
    没有length这个属性
    for in用法
    http://www.w3school.com.cn/js/js_loop_for_in.asp
      

  2.   

    那你的意思是必须用FOR IN了?
      

  3.   


    既然楼主用了JSON.parse那么就应该这么写了
    str ='[{"1":"高洪岩1","2":"高洪岩2","3":"高洪岩3","4":"高洪岩4","5":"高洪岩5"}] ' 
    var returnJSON=JSON.parse(str, function(key, value){
    alert(key + "==>" + value);
    });