【发布时间】:2010-12-29 03:10:58
【问题描述】:
Google Voice 有 XML URL,所以我想知道有人如何从返回的 XML 中提取 JSON 部分并将其解析为页面。 Google Voice 的搜索功能现在被破坏了,我想访问我的历史记录。我认为应该同步调用我历史上最后一个已知页码之前的所有页面......
【问题讨论】:
-
不确定你的问题是什么。
标签: ajax json jquery google-voice
Google Voice 有 XML URL,所以我想知道有人如何从返回的 XML 中提取 JSON 部分并将其解析为页面。 Google Voice 的搜索功能现在被破坏了,我想访问我的历史记录。我认为应该同步调用我历史上最后一个已知页码之前的所有页面......
【问题讨论】:
标签: ajax json jquery google-voice
这可能是你最好的选择......
在此处阅读有关数据类型转换的信息:http://api.jquery.com/extending-ajax/
特别是说:
您可以在 ajax 调用的选项中定义转换器“内联”。例如,以下代码请求一个 XML 文档,然后从中提取相关文本,并将其解析为“mydatatype”:
$.ajax( url, {
dataType: "xml text mydatatype",
converters: {
"xml text": function( xmlValue ) {
// Extract relevant text from the xml document
return textValue;
}
}
});
我不知道这个确切的代码 sn-p 是否会正确返回 JSON 内容,但至少它应该将其从 XML 响应中删除(您可能需要添加额外的代码来解析返回的“textValue " 作为 JSON。也许使用 jQuery parseJSON 方法。
不妨试试:
$.ajax( url, {
dataType: "xml text mydatatype",
converters: {
"xml text": $.parseJSON;
}
}
});
希望这会有所帮助。
【讨论】:
XML 和 JSON 不是相同的数据类型。您可能必须将数据处理为 XML,如果这是您的数据返回的唯一类型。如果 URL 包含 .xml,您可以尝试将其更改为 .json 以查看它是否返回 JSON 数据类型。
如果您向我们提供更多信息(示例、URL 等),也许有人可以更好地帮助您。