gpt4 book ai didi

javascript - 使用 Jquery/Javascript 访问嵌入在 XML 中的 JSON

转载 作者:行者123 更新时间:2023-11-30 13:04:50 24 4
gpt4 key购买 nike

我有一个 jquery 函数,它与 ASP.NET Web 服务通信,如下所示

$(document).ready(function() {
$.support.cors = true;
$.ajax({
type: "GET",
url: "http://www.webservice.com/blahblah.asmx/blahb123",
data: "tnWsGuid=TEST1",
dataType: "text",
success: function(data, status, jqxhr) {
xmlString = data;
alert(xmlString);
},
error: function (request, status, error) {
alert(status);
}

});
});

警报显示是这样的:

<?xml version="1.0" encoding = "utf-8"?>
<string xmlns = "http://Walkthrough/XmlWebServices/">
{"approverName":"","emailAddress":"","companyName":"ABC","address":{"streetAddress1":"12 BlahBlah","streetAddress2":"","state":"ON","zipCode":"","country":"SO","phoneNumber":""},"tabledata:"[{"vendorPart":"AAAAA","partDescription":"N/A","price":"0.00","quantity":"28"},{"vendorPart":"BBBBBBB","partDescription":"N/A","price":"0.00","quantity":"3"},{"vendorPart":"CCCCCC","partDescription":"N/A","price":"0.00","quantity":"25"}]}
</string>

我的数据类型现在是文本。然而,我知道如何解析 JSON,现在我需要做的是以某种方式访问​​嵌入在 XML 信封中的 JSON 并将其转换为 JSON 对象,以便我可以使用 JQuery 来解析它。

这是我在 $.ajax 函数中尝试过的:

success: function(data, status, jqxhr) {
xmlString = data;
var jsondata = jQuery.parseJSON(xmlString.substr(xmlString.indexOf('{')));
alert(jsondata);
}

但在 IE 调试器中返回无效字符错误 look's like this

知道如何访问 xml 信封内的数据并将其转换为 JSON 对象以便将其解析为 JSON 吗?我无法更改 Web 服务,所以这一切都必须在网页中完成。

最佳答案

你可以这样做:

success: function(data, status, jqxhr) {
var xml = $($.parseXML(data)), // Parse the XML String to a Document, and Wrap jQuery
json = xml.find("string").text(), // Get the text of the XML
jsonObj = $.parseJSON(json); // Parse the JSON String
}

或简称

var jsonObj = $.parseJSON($($.parseXML(data)).find("string").text());

现场 fiddle :http://jsfiddle.net/59rQA/

关于javascript - 使用 Jquery/Javascript 访问嵌入在 XML 中的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16064214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com