有没有办法使用jquery解析这个json

时间:2011-12-21 22:35:43

标签: javascript jquery json

有没有办法使用jquery解析它?

{"post_title":["car1","car2","car3"],"guid":["http:\/\/car1\/body\/fiat\/","http:\/\/car2\/body\/fiat\/","http:\/\/car3\/body\/fiat\/"]}

 $.getJSON($theUrl, function(data){
        var myData = [];
        $.each(data, function(i, item) {
          console.log(item[0]);
          myData.push("<li><a href="+item+">" + item+ "</a></li>");
        });

PHP代码:

$s = array();
while (have_posts()) : the_post();
  $s['post_title'][] = get_the_title();
  $s['guid'][] = get_permalink();
endwhile; 
echo json_encode($s);

有人可以帮助我!

6 个答案:

答案 0 :(得分:2)

我认为您应该以不同方式构建数据。

$s = array();
while (have_posts()) : the_post();
  $s['post_title'][] = get_the_title();
  $s['guid'][] = get_permalink();
endwhile; 
echo json_encode($s);

应该是:

$s = array();
while (have_posts()) : the_post();
    $s[] = array(
        'post_title' => get_the_title(),
        'guid' => get_permalink(),
    );    
endwhile; 
echo json_encode($s);

然后你的JS看起来像:

$.getJSON($theUrl, function(data){
    $.each(data, function(i, item) {
        //item.post_title
        //item.guid
    });
});

答案 1 :(得分:1)

您可以尝试parseJSON:

jQuery.parseJSON();

答案 2 :(得分:1)

jQuery确实有jQuery.parseJSON

或者您可以使用带有json2.js的'JSON.parse()'作为本机支持此功能的浏览器的后备。

答案 3 :(得分:1)

parseJSON() - http://jsfiddle.net/VHpLp/

答案 4 :(得分:0)

Ya,要在客户端/浏览器上解析JSON,请使用:

 var jsonObj = JSON.parse(yourJsonString);

答案 5 :(得分:0)

如果您尝试在客户端解析JSON字符串,jQuery将起作用,语法将是:

var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );

API jQuery - jQuery.parseJSON()

如果您尝试在服务器端解析它,语法和工具将取决于您正在使用的JSON库。我不熟悉PHP所以我不知道那里有什么。

旁注 - 在您担心解析之前,请确保您的JSON已正确形成。