$.ajax({  
            type: "POST",  
            url: "<%=basePath%>json.do?method=list",  
            data:{newData:JSON.stringify(jsonTest)},  
            dataType:"json",  
            success:function(json){  
             json=eval("("+json+")"); 
                alert(json); 
                
            }  
        }); 
后台actionList list = new ArrayList();
Map map = new HashMap();
map.put("china","1");
map.put("japan","2");
map.put("usa","3" );
map.put("russia","4" );
response.getWriter().write(JSONArray.fromObject(list).toString());后台打印出来是:[{"russia":"4","japan":"2","usa":"3","china":"1"}]
大侠帮帮忙吧

解决方案 »

  1.   

     var oJson =eval(json);   是个数组 直接这样就行了
      

  2.   

    关于JSON对象,以及联合数组,eval函数的使用参考
    var json="{persons:[{name:'Zhangsan',sex:'male'},{name:'Lisi',sex:'female'}],school:'LiSi'}";
    json="("+json+")";
    var obj=eval(json);
    alert(obj.persons[0].name); // Output:'Zhangsan'
    alert(obj.school); //Output:'LiSi'
      

  3.   

    这样不报错了 但是alert(json);出来的是[object object] 可不可以alert出[{"russia":"4","japan":"2","usa":"3","china":"1"}]
      

  4.   

    你是要取数组里面的值吧?
    alert(aa[0]["russia"]);
    alert(aa[0]["japan"]);
    alert(aa[0]["usa"]);
    alert(aa[0]["china"]);
    这样就可以取到了,直接alert(json);肯定是对象的