3

我有一个示例 JSON

{"status":200,
"invocationContext":null,
"invocationResult":{"responseID":"13","statusCode":200},
"fetchXmlResponse":{"ns":"http://ws.src.com","return":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><TemplateData>data</TemplateData>"}
}

如何从上面的对象访问“返回”元素?

alert("Result: " + JSON.stringify(result.fetchXmlResponse.return));

上面的代码由于return关键字而引发错误是否有其他方法来获取(或访问)return元素的值?

4

4 回答 4

1

您可以return按名称访问属性,但最好重新格式化您的响应,以便它不使用属性名称的关键字:

alert("Result: " + JSON.stringify(result.fetchXmlResponse['return']));

于 2013-10-11T12:34:01.293 回答
1

尝试访问它,就好像它是一个数组(psst。它是)。看这个例子

http://jsfiddle.net/morph3y/svSth/

fetchXmlResponse['return']
于 2013-10-11T12:39:21.623 回答
1

您可以使用替代语法:

alert("Result: " + JSON.stringify(result.fetchXmlResponse['return']));

Javascript 对象表示为哈希映射,因此任何属性都可以作为成员字段或通过方括号进行访问。后一种方法可用于作为 javascript 关键字或特定于浏览器结构的成员(如某些 IE 版本中的“导出”)

于 2013-10-11T12:34:50.733 回答
1

使用以下代码:

var obj = JSON.parse(result);
alert("Result: " +obj.fetchXmlResponse.return);
于 2013-10-11T12:35:34.257 回答