【问题标题】:Parsing result for nested value from api response解析来自 api 响应的嵌套值的结果
【发布时间】:2018-03-30 01:27:04
【问题描述】:

您好,我从soap api 获得了一个payload。 从结果我做了以下

console.log(util.inspect(result, false, null));

我得到以下结果

{ 'S:Envelope': 
             { '$' : { 'xmlns:s : 'http://.....'},
             'S:Body':
               { 'n:sendresponse':
                 { '$': {'xmlns:ns2': 'http://......'},
                   tranResult:{id: '', temp: '224'}}}}

我想做的是解析 temp 的值。我正在做这样的事情

var resl=util.inspect(result, false, null);

我不知道该怎么做。请让我知道如何从结果中获取 temp 值并将其分配给 var temperature 谢谢

【问题讨论】:

  • 你可以使用像var temperature = resl['S:Envelope']['$']['S:Body']['$']['tranResult]['temp']这样的括号表示法。 (在您的实际情况下变量可能会有所不同)
  • @J 对于您的情况,我们当然没有太多信息。我的回答只是对你的情况的猜测。

标签: javascript json node.js xml parsing


【解决方案1】:

JSON 是 JavaScript 中的一等公民,您可以像树一样轻松地遍历它的结构。在给定的示例中,您希望向下遍历直到到达temp。您可以通过直接使用点表示法(例如,parent.child)调用子元素名称或使用括号(如果它具有特殊字符或子名称存储在另一个变量(例如,parent['child'])。

对于给定的示例,temp 的路径是 o['S:Envelope']['S:Body']['n:sendresponse']['tranResult']['temp']

【讨论】:

    【解决方案2】:

    如果它是一个 json 对象,您首先必须对其进行解析以获取一个对象,这样可以更轻松地访问成员 temp 并检索其值。

    如何在 JS 中使用对象。检查working with object

    解析 json,您可以使用 JSON.parse(jsonString)jsonString.toJSON()(如果可以的话)来获取对象。

    【讨论】:

    • JSON.parse()string 作为参数,问题中的result 已经是一个对象,
    • @Taki 我刚刚提供了 J 可以用手头的东西做什么,特别是使用 jsonString 来区分 stringobject。我认为 J 会明白可以做什么。只要使用 > 如何在 JS 中使用对象来检索对象。检查使用对象。
    猜你喜欢
    • 2016-09-03
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    • 2014-01-21
    相关资源
    最近更新 更多