$(document).ready

    function() 
    {
              $.getJSON
          ("http://www.google.com/finance/info?client=ig&q=amd",
            function(json)
            {
            }
          )
    }  
);这里的json格式不是正规的json格式,它的数据是:
json 数据是: 
// [ 

"id": "327" 
,"t" : "AMD" 
,"e" : "NYSE" 
,"l" : "4.73" 
,"l_cur" : "4.73" 
,"ltt":"4:03PM EDT" 
,"lt" : "Jun 1, 4:03PM EDT" 
,"c" : "+0.19" 
,"cp" : "4.19" 
,"ccol" : "chg" 
,"el": "4.69" 
,"el_cur": "4.69" 
,"elt" : "Jun 1, 7:59PM EDT" 
,"ec" : "-0.04" 
,"ecp" : "-0.85" 
,"eccol" : "chr" 

如何能把它转化很正确的json格式,或者是取出l_cur的数据。

解决方案 »

  1.   

    如何把//去掉啊,在jquery中
      

  2.   

    如果保存在变量s中,
    s = s.substr(2,s.length-2);
    var a;
    eval("a=" + s + ";");
    alert(a[0].l_cur);
      

  3.   


    eval("s = " + s.substring(5));
    alert(s.l_cur);
      

  4.   

    可以先检测一下返回值的数据类型, 要是string就eval一下.function(json)
    {
        alert(typeof json);
        eval("var s = " + json.substring(5));
        alert(s.l_cur);
    }
      

  5.   

    alert出来是string 类型 ,不过eval("var s = " + json.substring(5)); 就报错了
      

  6.   

    alert出来是string 类型,不过前面的//去不掉
      

  7.   

    你上面的数据是怎么看到的? 是用alert还是别的
    试下这个function(json)
    {
        eval("var s = {" + json.split("{")[1]);
        alert(s.l_cur);
    }
      

  8.   

    用alert(json)看到的,还是不行
      

  9.   

    原来是个数组, 后面少打了个]
    function(json)
    {
        eval("var s = " + json.split("//")[1]);
        alert(s[0].l_cur);
    }
      

  10.   

    var c=eval(s.substring(4));
    alert(c[0].l_cur);
    这样就可以了,终于不报错了,谢谢大家了