使用键值中的空格访问数据

时间:2017-03-17 15:39:44

标签: javascript

所以我有这个休息调用,它返回这个样本数据。

var test = {
    "id": "testtset",
    "name": "sf-rg",
    "tags": {
        "Tag Set": "005",
        "User Name": "Bond"
    },
    "properties": {
        "provisioningState": "Succeeded"
    }
},
{
    "id": "365tset",
    "name": "Test365",
    "location": "us",
    "properties": {
        "provisioningState": "Succeeded"
    }
}

console.log(test.tags["User Name"]);

如果我运行它会给我一个错误。

我的对象包含用户名的值,但不包含所有ID的值。

假设我只有一个json对象console.log(test.tags["User Name"]);,这样可以正常工作,但不适用于多个数据对象。

有人知道如何解决此问题吗?

3 个答案:

答案 0 :(得分:1)

这样做。

var test =[
        {
        "id": "testtset",
        "name": "sf-rg",
        "tags": {
            "Tag Set": "005",
            "User Name": "Bond"
        },
        "properties": {
            "provisioningState": "Succeeded"
        }
    },
    {
        "id": "365tset",
        "name": "Test365",
        "location": "us",
        "properties": {
            "provisioningState": "Succeeded"
        }

    }]
console.log(test[0].tags["User Name"]);

答案 1 :(得分:1)

对变量应该是什么样的修改很少......如果你想获得第一个标签的用户名:



var test = [{
    "id": "testtset",
    "name": "sf-rg",
    "tags": {
      "Tag Set": "005",
      "User Name": "Bond"
    },
    "properties": {
      "provisioningState": "Succeeded"
    }
  },
  {
    "id": "365tset",
    "name": "Test365",
    "location": "us",
    "properties": {
      "provisioningState": "Succeeded"
    }
  }
];


console.log(test[0]["tags"]["User Name"]);




答案 2 :(得分:1)

你的问题不在于密钥名称中的空格,我假设你已经写了一个错误粘贴你的json,而你实际上是在回一个阵列:

var test = 
[
  {
    "id": "testtset",
    "name": "sf-rg",
    "tags": {
        "Tag Set": "005",
        "User Name": "Bond"
    },
    "properties": {
        "provisioningState": "Succeeded"
    }
  },
  {
    "id": "365tset",
    "name": "Test365",
    "location": "us",
    "properties": {
        "provisioningState": "Succeeded"
    }
  }
]

上面的json:

console.log(test[0].tags["User Name"]);应该没问题

console.log(test[1].tags["User Name"]);不会,因为第二个对象没有tags属性