gpt4 book ai didi

javascript - 从 SOAP 转换后如何访问嵌套的 JSON 节点?

转载 作者:行者123 更新时间:2023-12-03 02:27:40 24 4
gpt4 key购买 nike

使用node.js(javascript),如何访问从 SOAP 数据转换而来的 JSON 数据中的 GetDataResult 节点。

{
"s:Envelope": {
"$": {
"xmlns:s": "http://schemas.xmlsoap.org/soap/envelope/"
},
"s:Body": [{
"GetDataResponse": [{
"$": {
"xmlns": "http://tempuri.org/"
},
"GetDataResult": ["You entered: TEST"]
}]
}]
}
}

最佳答案

使用 进行测试交互模式:

$ node
> var x = {
... "s:Envelope": {
..... "$": {
....... "xmlns:s": "http://schemas.xmlsoap.org/soap/envelope/"
....... },
..... "s:Body": [{
....... "GetDataResponse": [{
......... "$": {
........... "xmlns": "http://tempuri.org/"
........... },
......... "GetDataResult": ["You entered: TEST"]
......... }]
....... }]
..... }
... }
undefined
> console.log(x["s:Envelope"]["s:Body"][0]["GetDataResponse"][0]["GetDataResult"][0])

输出:

'You entered: TEST'

说明:

我尝试从下面的评论中详细说明一下。没有容器,我尝试解释一下:

你必须思考就像它是什么:一个对象数据结构

,我们会说它是一个 dict,位于 哈希表等...在全局范围内,这都是关于关联数组

所以当你在 JSON 中看到:

"key" : { "value" }

这是一个关联数组

如果您看到的是

"key": [
{ "key1": "foo" },
{ "key2": "bar" },
{ "key3": "base" }
]

它是一个哈希数组关联数组数组

当您访问不带空格或奇数字符的简单关联数组时,您可以(在中执行:

variable.key

就您而言,键名称中有奇数字符 : ,因此 x.s:Envelope 不起作用。相反,我们写:x['s:Envelope']

只要 [] 中有关联数组的数组,您就必须告诉 js 您需要获取哪个数组号。它是只有一个关联数组的数组,所以很简单,我们通过传递数组编号来深入了解数据结构,这就是我们所做的

x['s:Envelope']["s:Body"][0]
^
|

关于javascript - 从 SOAP 转换后如何访问嵌套的 JSON 节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48875906/

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