Javascript 如何从用xml字符包装的json中访问数据?
我有一个响应,我想映射到接口并将其发送回客户端,但它总是抛出未定义的属性错误,知道这里实现了什么错误吗?我想发送回客户Javascript 如何从用xml字符包装的json中访问数据?,javascript,json,typescript,Javascript,Json,Typescript,我有一个响应,我想映射到接口并将其发送回客户端,但它总是抛出未定义的属性错误,知道这里实现了什么错误吗?我想发送回客户soapenv:Bodyobject 梅因酒店 public getData(args: ICarrierTrackingParam, data: any): Promise < ICarrierTrackingResult > { console.log("DATA>>>>>>", data.Details["soape
soapenv:Body
object
梅因酒店
public getData(args: ICarrierTrackingParam, data: any): Promise < ICarrierTrackingResult > {
console.log("DATA>>>>>>", data.Details["soapenv:Envelope"]["soapenv:Body"]);
// const parsedJson: ICarrierTrackingResult;
// parsedJson = JSON.parse(data);
const trackResponse: any = data.Details["soapenv:Envelope"]["soapenv:Body"];
// const response: ICarrierTrackingResult = data.Details.Envelope.Body;
console.log("BODYY", trackResponse);
// const trimmedResponse = response[soapenv:Envelope][soapenv:Body][trk:TrackResponse];
return Promise.resolve(this.getDetails(args, trackResponse));
}
interface.ts
export interface ICarrierTrackingResult {
Details: EnvelopBody;
}
export interface EnvelopBody {
"soapenv:Envelope": Envelope;
}
export interface Envelope {
$: $;
Header: string;
Body: Body;
}
export interface $ {
"xmlns:soapenv": string;
}
export interface Body {
"soapenv:Body": string;
}
getDetails
看起来像什么<代码>args未定义。args来自其他按预期工作的方法,只是问题在于响应。我道歉。问题可能出在getDetails函数中,因为trackResponse包含有效的属性。
{
"Details": {
"soapenv:Envelope": {
"$": {
"xmlns:soapenv": "http://schemas.xmlsoap.org/soap/envelope/"
},
"soapenv:Header": "",
"soapenv:Body": {
"trk:TrackResponse": {
"$": {
"xmlns:trk": "http://www.ups.com/XMLSchema/XOLTWS/Track/v2.0"
},
"common:Response": {
"$": {
"xmlns:common": "http://www.ups.com/XMLSchema/XOLTWS/Common/v1.0"
},
"common:ResponseStatus": {
"common:Code": "1",
"common:Description": "Success"
},
"common:TransactionReference": ""
}
}
}
}
}