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"
}
]我的前台:$(document).ready

    function() 
    {
      // do something here
          $.getJSON
      ("http://www.google.com/finance/info?client=ig&q=amd",
        function(json)
        {
          alert("JSON Data: " + json.l_cur); //这有问题
        }
      )    }  
);
如何得到 "l_cur" : "4.73" 这笔数据

解决方案 »

  1.   

    1. 应为是跨域读取数据,所以要用jsonp类型,即要加参数&callback=?
    $.getJSON("http://www.google.com/finance/info?client=ig&q=amd&callback=?",...
    2. 这种方式是加入新的<script>标签,所以此url返回的数据是似乎不是标准的js代码,会有问题
    3. 可考虑在服务器端读取,数据处理后再用ajax调用.
      

  2.   

    jquery 1.3 版的应该无所谓jsonp的,跨域的问题更是在说明文档里就说了$.getJSON可以跨域的
    我试了一下,结果是这样的1 $("body").load("http://www.google.com/finance/info?client=ig&q=amd",function(data){
    alert(data);
    });
    2 $("body").load("test.htm",function(data){
    alert(data); 
    });
    3 $.getJSON("test.htm",function(json){
    alert(json);
    });楼主的文档下到本机上保存在test.htm里,
    不经任何改动的话,1和2都正确,3出问题
    把楼主的json数据只保留{...},即删去之前的"//["和结束的"]",这样 1,2,3都正常了
    看来问题出在js无法解释楼主的那个json
      

  3.   


     [ 

    "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数据格式,而是一个数组吧?([])
      

  4.   

    JSON的一个例子 
    window.onload = function(){   
            var user ={   
                username:"langhua",   
                password:{classA:[{pas1:"123456",pas2:"124545"}],classB:[{ppt:"888"}]}             
            };   
            alert("test");   
            alert(user.username);   
            alert(user.password.classB[0].ppt);            
        };  
    Js代码$(document).ready(function(){   
        showStock();   
        setInterval(showStock,500);   
    });   
    var i =100;   
    function showStock(){   
        $.get("../servlet/stockinfo?t="+new Date().getTime(), null, function(data){   
            var json = data;           
            $("#300001").children("span").html(json.sh.now);   
            $("#698501").children("span").html(json.bk.now);   
        },"json");//可以设置第四个参数json   
    }  
      

  5.   


    var a = [ 

    "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" 

    ];alert(a[0].l_cur);
      

  6.   

    我得到的数据是
    // [ { "id": "327" ,"t" : "AMD" ,"e" : "NYSE" ,"l" : "4.56" ,"l_cur" : "4.56" ,"ltt":"4:02PM EDT" ,"lt" : "Jun 2, 4:02PM EDT" ,"c" : "-0.17" ,"cp" : "-3.59" ,"ccol" : "chr" ,"el": "4.57" ,"el_cur": "4.57" ,"elt" : "Jun 2, 7:59PM EDT" ,"ec" : "+0.01" ,"ecp" : "0.22" ,"eccol" : "chg" } ] 
    如何把//去掉呢,在jquery中
      

  7.   



    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"