从 Javascript 上的 Hashtable 获取值

Getting values from Hashtable on Javascript

我有一个使用 WCF 服务的简单登录系统,该服务为我提供了一个包含会话值的哈希表。

登录方法接收一个包含用户和密码的哈希表,returns一个包含会话信息的哈希表。

哈希表在服务接口中使用 ResponseFormat = WebMessageFormat.Json 序列化。

我得到的是一个包含键和值的对象数组

{
   "LoginResult":[
      {
         "Key":"role",
         "Value":1
      },
      {
         "Key":"welcome",
         "Value":"Bem-vindo, User1"
      },
      {
         "Key":"loggedin",
         "Value":1
      }
   ]
}

所以我不确定如何获取每个键的值。

您可以按如下方式迭代 LoginResult 并获得地图,假设您有一个名为 loginResult 的变量,该变量已分配给您的响应 LoginResult 属性:

var result = {};
for (var i = 0; i < loginResult.length; i++) {
    result[loginResult[i].Key] = loginResult[i].Value;
}

console.log(result);

这将显示:

{
    "role": 1,
    "welcome": "Bem-vindo, User1",
    "loggedin": 1
}

并且您可以按如下方式使用每个 属性 例如执行验证:

if (result.role === 1 && result.loggedin === 1) {
    console.log('Login Succesful!');
}