我在页面写入js代码:   var j='{"a":"kkk","b":5}';
   alert(j);
   alert(j.b);    第一个对话框弹出了——{"a":"kkk","b":5},第二个对话框却弹出 undefined , 用点运算符可以提取对应的值呀,为什么我提取不出来?js应该支持JSON而不需要导入什么文件吧? 谢谢高手帮忙

解决方案 »

  1.   

    var j='{"a":"kkk","b":5}'; 
      alert(j); 
      var o=eval("("+j+")")
      alert(o.b); 
      

  2.   

    var j='{a:"kkk",b:5}'; 
    alert(j); 
    eval("var o = " + j);
    alert(o.a);Json格式的变量名不要引号的吧?
      

  3.   

    而且你为什么要这样写呢? 直接定义个对象不行啊?var j={a:"kkk",b:5};
    alert(j);
    alert(j.b); 
      

  4.   

    var j={a:"kkk",b:5};
    alert(j.b); 
      

  5.   

    var j='{"a":"kkk","b":5}'; 
    这是一个字符串!!!
    var j={"a":"kkk","b":5}; 
    这才是一个对象啊楼主一定要分清楚啊!!!
      

  6.   

    因为你的j是一个字符串,而不是一个JSON对象。因此,你需要使用 eval将字符串转换成json对象。
     var json=eval('('+j+')');
     alert(json.b);