Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript获取json内部值_Javascript_Json - Fatal编程技术网

javascript获取json内部值

javascript获取json内部值,javascript,json,Javascript,Json,让我有下一个目标 var o = { "foo" : {"bar" : "omg"} }; 我可以使用 o["foo"] // return {"bar" : "omg"} o["foo"]["bar"] // return "omg" 我可以使用 o["foo"] // return {"bar" : "omg"} o["foo"]["bar"] // return "omg" 我是否可以使用括号[]一次性获取foo内bar键的值。 类似 o["foo.

让我有下一个目标

   var o = { "foo" : {"bar" : "omg"} };  
我可以使用

o["foo"] // return {"bar" : "omg"} 
o["foo"]["bar"]  // return "omg"   
我可以使用

o["foo"] // return {"bar" : "omg"} 
o["foo"]["bar"]  // return "omg"   
我是否可以使用括号
[]
一次性获取
foo
bar
键的值。
类似

o["foo.bar"] // not working(


不幸的是,您只能使用
o[“foo”][“bar”][/code>或
o.foo.bar

不幸的是,您只能使用
o[“foo”][“bar”][/code>或
o.foo.bar

不,您必须使用
o[“foo”][bar”
,因为它是另一个对象中的对象。如果您想使用“foo.bar”访问它,这意味着您必须创建第一个对象,如下所示:

var o = {"foo.bar": "omg"}
不,您必须使用
o[“foo”][“bar”]
,因为它是另一个对象中的一个对象。如果您想使用“foo.bar”访问它,这意味着您必须创建第一个对象,如下所示:

var o = {"foo.bar": "omg"}
o[“foo.bar”]
o[“foo/bar”]
对于您的示例无效。您可以使用更干净的表示法:

var bar = o.foo.bar // bar will contain 'omg'
o[“foo.bar”]
o[“foo/bar”]
对于您的示例无效。您可以使用更干净的表示法:

var bar = o.foo.bar // bar will contain 'omg'

有一种方法,但我不确定这是你想要的:

eval("o.foo.bar");

虽然这很危险,而且不使用
[]
,但如果您想使用字符串访问任何对象,它可以工作

有一种方法,但我不确定这是您要求的:

eval("o.foo.bar");

尽管这样做很危险,而且不使用
[]
,但是如果您想使用字符串访问任何对象,那么创建一个getter函数来执行类似操作是非常常见的。从评论中可以看出:

我有对象o和字符串'foo.bar',我想得到“omg”

var getProp=function(对象,propString){
无功电流=对象;
var split=propString.split('.');
对于(变量i=0;i


注意:这是一个综合的示例,在将其放到站点上之前,您需要防弹并将其抛光。

创建一个getter函数来执行类似操作是非常常见的。从评论中可以看出:

我有对象o和字符串'foo.bar',我想得到“omg”

var getProp=function(对象,propString){
无功电流=对象;
var split=propString.split('.');
对于(变量i=0;i


注意:这是一个拼凑的例子,你想在把它放到你的网站上之前把它防弹并磨光。

o['foo']['bar']
o.foo.bar有什么问题吗?
?不,你不能这么做,但你可以做'o.foo.bar'。显然,如果你只需要用另一种方式得到'omg',你不会问它,对吗?你需要找到o.foo属性的名称(应该是
bar
),对吗?我有像字符串'foo.bar'这样的内部元素的路径,我想通过字符串获取内部元素我有对象
o
和字符串
'foo.bar'
,我想获取
“omg”
。所以我不能使用
o.foo.bar
o['foo']['bar']
o.foo.bar
有什么问题?不,你不能这样做,但你可以做'o.foo.bar'。显然,如果你只是想用另一种方式得到'omg',你不会问这个问题,对吗?你需要找到o.foo属性的名称(应该是
bar
),对吗?我有像字符串'foo.bar'这样的内部元素的路径,我想通过字符串获取内部元素我有对象
o
和字符串
'foo.bar'
,我想获取
“omg”
。所以我不能使用
o.foo.bar