1. ホーム
  2. javascript

[解決済み] JavaScript の連想配列から JSON への変換

2023-07-28 15:17:47

質問

JavaScriptの連想配列をJSONに変換するにはどうすればよいですか?

私は以下を試しました。

var AssocArray = new Array();

AssocArray["a"] = "The letter A"

console.log("a = " + AssocArray["a"]);

// result: "a = The letter A"

JSON.stringify(AssocArray);

// result: "[]"

どのように解決するのですか?

配列は数値のキーを持つ項目のみを持つべきです(配列はオブジェクトでもありますが、これらを混在させるべきではありません)。

配列をJSONに変換する場合、処理は数値のプロパティのみを考慮します。他のプロパティは単に無視され、結果として空の配列が得られるのはそのためです。おそらく、これは length を見ればより明らかでしょう。

> AssocArray.length
0

よくquot;連想配列と呼ばれるものは、実はJSでは単なるオブジェクトです。

var AssocArray = {};  // <- initialize an object, not an array
AssocArray["a"] = "The letter A"

console.log("a = " + AssocArray["a"]); // "a = The letter A"
JSON.stringify(AssocArray); // "{"a":"The letter A"}"

オブジェクトのプロパティは、配列記法またはドット記法(キーが予約キーワードでない場合)でアクセスすることができます。したがって AssocArray.a と同じです。 AssocArray['a'] .