我是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,我可以看到对“状态报告”的调用返回了JSON字符串

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


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

我究竟做错了什么?

最佳答案

传递给data回调的getJSON值已经是一个JS对象。将对象传递给对象时,$.parseJSON将返回null,因为它需要一个字符串。由于$.parseJSON首先采用JSON,因此可以轻松删除对getJSON的调用。

关于jquery - 解析JSON字符串返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8575479/

10-10 23:10