解析JSON字符串返回null

时间:2011-12-20 12:30:07

标签: jquery json

我对JSON处理很新,我自己也陷入了困境。我的页面包含以下脚本;

<script type="text/javascript">



$(document).ready(function() {

    $('#progressBar').progressbar({value: 0.0});


    process();
});
    function process() {

        getStatus();
        setInterval(getStatus,1000);
    }

    function getStatus() {
        $.getJSON('status-report', function(data) {
            var statusBean = $.parseJSON(data);
              $('#progressBar').progressbar('option','value',$.trim(statusBean.percentComplete));
            $('#status').html(statusBean.statusDescription);
        });
    }


</script>

使用Firebug,我可以看到对'status-report'的调用正在返回一个JSON字符串

{"statusBean":{"percentComplete":50.0,"statusDescription":"Default Description"}} 

但在$.parseJSON之后,Firebug告诉我变量statusBean为空。

我做错了什么?

1 个答案:

答案 0 :(得分:3)

传递给data回调的getJSON的值已经是JS对象。当一个对象传递给它时,$.parseJSON将返回null,因为它需要一个字符串。这里可以简单地删除对$.parseJSON的调用,因为getJSON首先假设JSON。