在javascript中获取对象的变量

时间:2013-01-09 09:18:42

标签: javascript json parsing

  

可能重复:
  How to list the properties of a javascript object

我正在创建一个从某些服务接收JSON object的应用程序。使用JSON.parse()解析此对象,并返回JavaScript Object

有没有可能找到对象中存在的不同variables

示例:

var some_object
{
    var a: "first"
    var b: "second"
}

我需要想办法从这个对象some_object

中获取a和b的名称

JavaScript中是否有任何预定义方法可以执行此操作?

3 个答案:

答案 0 :(得分:1)

这就是诀窍:

for (var key in some_object) { 
    console.log(key, some_object[key]);
}

但是,您需要以不同方式初始化对象:

var some_object = {
    a: "first",  // Note: Comma here,
    b: "second", // And here,
    c: "third"   // But not here, on the last element.
}

结果:

a first
b second

因此,在我的for循环中,key是值的名称,some_object[key]是值本身。

如果您已经知道对象中的变量('名称),您可以像这样访问它们:

console.log(some_object.a) // "first";
//or:
console.log(some_object["b"]) // "second";

答案 1 :(得分:0)

您可以这样做:

var myObject = {
  abc: 14, 
  def: "hello"
}

for (var i in myObject ) { 
  alert("key: " + i + ", value: " + myObject[i]) 
}

在这种情况下,i将遍历myObject(abcdef)的键。使用myObject[i],您可以在i中获取当前密钥的值。

请注意您的对象定义是错误的。而不是

var a: "first"

你只需要使用

a: "first"

内部物体。

答案 2 :(得分:0)

您应该可以致电some_object.a来获取asome_object.b来获取b等等。

你不应该在这样的对象中看到var。对象表示法看起来像这样:

var some_object = {
    a: "first",
    b: "second"
}

注意,没有var声明,并且除了最后一个属性之外,在对象的每个属性之后使用逗号。