试图让这个简单的Jquery.parseJson工作没有成功

时间:2010-12-28 16:24:01

标签: jquery json parsing

我正试图让这个Jquery.parseJson无法正常工作。

<input type="text" id="query" /><button>search</button><br />
<div id="results">

</div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
 $('button').click(function(){
  $("#query").val(); // Do nothing with this value
  $.getJSON('{"name":"John"}',function(json){
   $.each(json.results,function(i,obj){
      $("#results").append('<p>' + obj.name + '</p>');
   });
  });
 });
});
</script>

此代码的目的是在div结果中显示名称“John”。

有人可以给我一些关于我做错的线索吗?

最诚挚的问候,

3 个答案:

答案 0 :(得分:2)

$.getJSON()用于从网址获取JSON ,在您已经拥有的字符串上操作时只需要$.parseJSON(),如下所示:

$('button').click(function(){
  $("#query").val(); // Do nothing with this value
  var obj = $.parseJSON('{"name":"John"}');
  $("#results").append('<p>' + obj.name + '</p>');
});

答案 1 :(得分:0)

使用firebug检查您是否传递了每个陈述。

然后检查json

答案 2 :(得分:0)

您可以使用“eval”将字符串转换为JSON对象。 请记住,字符串需要加以括号,不能被识别为标记声明。

    <input type="text" id="query" /><button>search</button><br />
    <div id="results">

    </div>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $('button').click(function(){
                $("#query").val(); // Do nothing with this value
                var json = eval('({"name":"John"})');
                $("#results").append('<p>' + json.name + '</p>');
                // $.getJSON('{"name":"John"}',function(json){
                //     $.each(json.results,function(i,obj){
                //         $("#results").append('<p>' + obj.name + '</p>');
                //     });
                // });
            });
        });