如何使用jQuery解析此JSON?

时间:2012-10-14 01:02:47

标签: javascript jquery ajax json

所以我在xml中有这个结构,我能够成功解析它。现在我所做的是我使用www.xmltojson.org将这个xml转换为JSON但我无法解析它。我在本地主机Web服务器上本地设置这些文件:

<script>
        $(function() {
            $.ajax({
                url:'feed.json',
                dataType:'json',
                type:'GET',
                success:function(json) {
/// what to do here
}.
error: {
 alert("Parse Failed");
}
});
});
</script>

我正在尝试学习JSON,所以我不确定我做错了什么,或者即使这是正确的认可。

谢谢Mikey。

5 个答案:

答案 0 :(得分:2)

由于您已指定dataType:'json',因此无需解析任何内容;如果url存在并返回一个有效的json字符串,jQuery会为你解析它,所以成功回调会获得一个实际的对象:

$(function() {
    $.ajax({
        url:'feed.json',
        dataType:'json',
        type:'GET',
        success: function(data) {
            console.log(data.propertyone);
            console.log(data.propertytwo);
        },
        error: function() {
            console.log("Parse Failed");
        }
    });
});

(你的原始代码中也有一些语法错误,上面已修复)

答案 1 :(得分:1)

您最好的选择是jQuery.parseJSON

答案 2 :(得分:1)

查看示例:

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

alert( obj.name === "John" );

另一个例子:

$.each(json, function(i,e){ alert(e.data); // data is the key for value }

答案 3 :(得分:1)

你不需要第三方工具。

jquery可以通过设置dataType:'xml json'

自动为您转换它
  

[...]简写字符串如“jsonp xml”将首先尝试转换   从jsonp到xml,如果失败了,从jsonp转换为text,和   然后从文本到xml。

文档:http://api.jquery.com/jQuery.ajax/

答案 4 :(得分:0)

如果将dataType设置为json,则json响应将在内部由jQuery解析,传递给success函数的参数将是由解析的json生成的对象。