获取javascript中对象的变量

获取javascript中对象的变量,javascript,json,parsing,Javascript,Json,Parsing,可能重复: 我正在制作一个从一些服务接收JSON对象的应用程序。使用JSON.parse()解析此对象,并返回JavaScript对象 是否有任何方法可以找出对象中存在的不同变量 例如: var some_object { var a: "first" var b: "second" } 我需要找到一种方法,从这个对象some\u对象 JavaScript中是否有任何预定义的方法可以做到这一点?您可以这样做: var myObject = { abc: 14, de

可能重复:

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

是否有任何方法可以找出对象中存在的不同
变量

例如:

var some_object
{
    var a: "first"
    var b: "second"
}
我需要找到一种方法,从这个对象
some\u对象


JavaScript中是否有任何预定义的方法可以做到这一点?

您可以这样做:

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

for (var i in myObject ) { 
  alert("key: " + i + ", value: " + myObject[i]) 
}
console.log(some_object.a) // "first";
//or:
console.log(some_object["b"]) // "second";
var some_object = {
    a: "first",
    b: "second"
}
在这种情况下,
i
将迭代myObject的键(
abc
def
)。使用
myObject[i]
可以在
i
中获取当前键的值

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

var a: "first"
你只需要使用

a: "first"
内部对象。

这将实现以下功能:

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
是值的名称,
某个对象[key]
是值本身

如果您已经知道对象中的变量(“名称”),则可以按如下方式访问它们:

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

for (var i in myObject ) { 
  alert("key: " + i + ", value: " + myObject[i]) 
}
console.log(some_object.a) // "first";
//or:
console.log(some_object["b"]) // "second";
var some_object = {
    a: "first",
    b: "second"
}

您应该能够调用
some\u object.a
来获取
a
some\u object.b
来获取
b
,等等

但是,您不应该在这样的对象中看到
var
。对象表示法通常如下所示:

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

for (var i in myObject ) { 
  alert("key: " + i + ", value: " + myObject[i]) 
}
console.log(some_object.a) // "first";
//or:
console.log(some_object["b"]) // "second";
var some_object = {
    a: "first",
    b: "second"
}

注意,没有
var
声明,对象的每个属性后面都使用逗号,最后一个属性除外。

我建议您为数组保留I和j,为数组保留其他字母(我使用o)objects@micha:是的,我试过了!上面写着未定义!你能添加你试过的代码吗?我试过打印这样的值:for(vari in some_Object){alert(some_Object[i]);console.log(some_Object[i])}@user1519703,你试过这个代码吗?:我试过了,它给出了未定义的!!。。。怎么用?你复制了我的确切代码吗?我实际上尝试了一些方法并找到了答案:var no_of_variables=Object.keys(some_Object);谢谢大家的帮助!