var json = '{"name":"John","age":"12"},{"name":"luger","age":"23"}';
var jsonObj = eval('(' + json + ')');
for (var i = jsonObj.length - 1; i >= 0; i--) {
alert(jsonObj[i].name);
}我想解析这样的字符串,但是一直出问题,请高手指教

解决方案 »

  1.   

    字符串可以做一些改变,, 比如:json="["+json+"]"
      

  2.   

    是的
    因为你这个json不规则
      

  3.   

    不是json字符串不规则,是因为这里面有两个json字符串。外面套一层括号运算符,就只有一个了。(obj1,obj2)==obj2,一个对象不是数组或者也不类似数组(像arguments)是不可以用下标循环的。而换成var jsonObj = eval('[' + json + ']');就是一个数组里面存有两个对象,所以用借来的循环是可以的。