-1

所以我在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,所以我不确定我在哪里做错了,或者即使那是正确的方法。

谢谢米奇。

4

5 回答 5

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");
        }
    });
});

(此外,您的原始代码中有几个语法错误,已在上面修复)

于 2012-10-14T01:20:44.033 回答
1

你最好的选择是jQuery.parseJSON

于 2012-10-14T01:04:53.350 回答
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 }

于 2012-10-14T01:13:37.397 回答
1

您不需要 3rd 方工具。

jquery 可以通过设置自动为您转换它dataType:'xml json'

[...] 诸如“jsonp xml”之类的速记字符串将首先尝试从 jsonp 转换为 xml,如果失败,则从 jsonp 转换为文本,然后从文本转换为 xml。

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

于 2012-10-14T01:19:10.973 回答
0

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

于 2012-10-14T01:19:12.843 回答