【问题标题】:Getting specific value from http response body从 http 响应正文中获取特定值
【发布时间】:2019-06-10 08:07:39
【问题描述】:

我无法从 http 响应正文中获取值。

我在我得到的 response.body 以及 xml-js 库上使用了 JSON.parse()。我必须得到的值是'P01'。 这是回应:

{  
   "Soap:Envelope":{  
      "_attributes":{  
         "xmlns:Soap":"http://schemas.xmlsoap.org/soap/envelope/"
      },
      "Soap:Body":{  
         "ValidateUser_Result":{  
            "_attributes":{  
               "xmlns":"urn:microsoft-dynamics-schemas/codeunit/UserValidation"
            },
            "return_value":{  
               "_text":"P01"
            }
         }
      }
    }
}

这是我尝试过的:

console.log(JSON.parse(data["Soap:Envelope"]["Soap:Body"]["ValidateUser_Result"]["return_value"])));

【问题讨论】:

  • 您可以发布您尝试过的内容吗?
  • response["Soap:Envelope"]["Soap:Body"].ValidateUser_Result.return_value 编辑:固定
  • 这是一个 Javascript 对象,而不是 JSON。如果您需要知道如何从中获取值,请参阅任何面向初学者的 Javascript 教程,例如 developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/…
  • 需要注意的是,上面的代码sn-p显示了一个JavaScript Object字面量。 JSON 是一种文本格式。没有 JSON 对象之类的东西。

标签: javascript node.js json xmlhttprequest


【解决方案1】:
var o = {  
   "Soap:Envelope":{  
      "_attributes":{  
         "xmlns:Soap":"http://schemas.xmlsoap.org/soap/envelope/"
      },
      "Soap:Body":{  
         "ValidateUser_Result":{  
            "_attributes":{  
               "xmlns":"urn:microsoft-dynamics-schemas/codeunit/UserValidation"
            },
            "return_value":{  
               "_text":"P01"
            }
         }
      }
    }
};

var val = o['Soap:Envelope']['Soap:Body']['ValidateUser_Result']['return_value']['_text'];

console.log(val);

【讨论】:

    【解决方案2】:

    这样就可以了。

    const data = {  
       "Soap:Envelope":{  
          "_attributes":{  
             "xmlns:Soap":"http://schemas.xmlsoap.org/soap/envelope/"
          },
          "Soap:Body":{  
             "ValidateUser_Result":{  
                "_attributes":{  
                   "xmlns":"urn:microsoft-dynamics-schemas/codeunit/UserValidation"
                },
                "return_value":{  
                   "_text":"P01"
                }
             }
          }
        }
    }
    console.log(data["Soap:Envelope"]["Soap:Body"]["ValidateUser_Result"]["return_value"]["_text"]);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-04
      • 2019-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      相关资源
      最近更新 更多