-1

私のコードは

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

ここで mdataを使用してアクセスするdata.abcと、結果は 1 になります。しかし、この「abc」をパラメーターを使用して渡そうとすると、param未定義と表示されます。

ここで、天気が表示されない場合は、「はい」の場合、どのようにdata使用してアクセスできますparamか???

誰かがこれについて私を助けることができますか???

4

2 に答える 2

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
于 2013-09-13T12:28:58.213 に答える
2

console.log(data[param]);やるべきです。

于 2013-09-13T12:29:54.497 に答える