1

変数を使用してJSONオブジェクトIDを作成する方法はありますか?

var json_result = [];
var id = 20;
json_result.push({id: {parentId: parentId, position: position}});

これにより、IDとして値'id'を持つjsonオブジェクトが作成されます。キーとして値「20」を持つことを達成したいと思います。

編集:解決策を含める:

var json_result = {};
var id = 20;
json_result[id] = {parentId: parentId, position: position};

これで、次のようにparentIdとpositionにアクセスできます。

json_result[20].position
json_result[20].parentId
4

4 に答える 4

4

このようなオブジェクト リテラルを記述することはできませんが (ちなみに「JSON オブジェクト」ではありません。単なる Javascript オブジェクトです)、次のように記述できます。

var o = {};
o[id] = {parentId: parentId, position: position};
json_result.push(o);
于 2012-07-30T14:55:36.297 に答える
1
var json_result = [];
var id = 20;
var obj = {};
obj[id] = "something";
json_result.push(obj);
于 2012-07-30T14:56:46.233 に答える
0

これが、JSON仕様でキーは文字列である必要があると規定されている理由の1つです。JSONは実際には次のようになります。

{
  "20": {
    "parentId": ..., 
    "position": ...}
}

... または類似。http://json.org/example.htmlをチェックしてください

于 2012-07-30T14:56:56.030 に答える
0

はい、次のように実行できます。

var obj = {};
obj[id] = {parentId: parentId, position: position};
json_result.push(obj);
于 2012-07-30T14:57:25.483 に答える