访问JSON数据的概念是什么?

时间:2013-09-13 12:27:40

标签: javascript json

我的代码就像

var param="abc";
var data = {abc:1,xyz:2};//json data
console.log(data.abc);
//console.log(data.param);

在使用data访问data.abc时,其结果为1.但是当我尝试使用参数param传递此“abc”时,其显示未定义。

这里没有天气可以使用data访问param如果是,那么如何???

有人可以帮我吗???

2 个答案:

答案 0 :(得分:5)

JSON只是一种序列化格式,它在字符串中使用基于文本的JavaScript子集 - 在JavaScript中使用对象不是JSON(我承认它的名称​​略微令人困惑,比如说至少)。

要做你想做的事,只需使用方括号:

console.log(data[param]);

它允许将任何表达式放入其中,并将返回值转换为字符串,然后用于访问对象上的属性 - 这允许动态使用param等变量。

例如,以下是使用方括号表示法时出现的一些结果:

var foo =
    { '[object Object]': 1
    , bar: 2 };
var x = "bar";

foo[{}]; // 1
foo['[object Object]']; // 1
foo.[object Object]; // SyntaxError: Unexpected token [
foo[bar]; // ReferenceError: bar is not defined
foo.bar; // 2
foo["bar"]; // 2 
foo[x]; // 2
foo.x; // undefined

答案 1 :(得分:2)

console.log(data[param]);应该这样做。