1

次のようなjson構造に値を追加しようとしています:

saveChamp.test = {"type":"","text":""};

大丈夫ですが、次のような「テスト」が必要です:var test = $('blablabla').val();

この例では、test の値をフェッチしませんが、test という名前のエントリを作成します。これは私が望むものではありません。

ヘルプ ?

編集 :

var saveChamp = new Object();
var test = "Field1";
saveChamp.test = {"type":"ok","text":"kok"};

スクリプトで saveChamp に Field1 (ma 変数 test の値) という名前のエントリを作成する必要があります。

4

4 に答える 4

1

ああ、この場合、編集後に何が必要かは明らかです。

JavaScript のすべてのオブジェクトは連想配列として扱うことができ、変数の値によって配列のプロパティを呼び出すことができます。

var saveChamp = new Object();
var test = "Field1";
saveChamp[test] = {"type":"ok","text":"kok"};

これは次と同じです:

saveChamp["Field1"] = {"type":"ok","text":"kok"};

フィールドの名前は可変文字列として渡されるため、これで目的が達成されます。

于 2012-07-19T12:58:16.060 に答える
0

このコードはあまり意味がないので、完全には理解できません。

JSON はJavascript Object Notationを意味します。

プレーンテキストを介して変数を転送するために使用されます。コードを介してデータを転送できるため、これは必要ありません。

元。1:

saveChamp.test = $('blablabla')).val();

$('blablabla')).val(); という値を持つプロパティ test を持つ、オブジェクト saveChamp を作成します。

元。2:

saveChamp.test = {"type":"blablabla","text":$('blablabla')).val()};

うまくいけば、saveChamp のテスト プロパティからオブジェクトが作成されます。これは実際には次のことを意味します。

saveChamp.test.type = "blabalbla"; 
saveChamp.test.text = $('blablabla')).val();

編集

私は新しい答えを出しましたが、どちらも非常に異なっていて、どちらも役に立つので、これをここに残します。

于 2012-07-19T12:52:30.870 に答える