1

次のJavaScriptオブジェクトをDartマップに変換しようとしています。

var users = { 
    1 : {
      first_name: 'James',
      last_name: 'Smith',
      email: 'jsmith@example.com',
    },
    2 : {
      first_name: 'Robin',
      last_name: 'Doe',
      email: 'rdoe@example.com',
    }

私はもう試した:

var users = { 
    "1" : {
      first_name: 'James',
      last_name: 'Smith',
      email: 'jsmith@example.com',
    },
    "2" : {
      first_name: 'Robin',
      last_name: 'Doe',
      email: 'rdoe@example.com',
    } 

しかし、引用符で囲まれた、または引用符で囲まれていない(エラーをスローする)マップとして使用することはできません。

var keys = users.getKeys(); //NoSuchMethodError : method not found: 'getKeys'
assert(keys.length == 2);
assert(new Set.from(keys).contains('2'));
4

1 に答える 1

5

属性名には(一重引用符または二重引用符)を使用します。

var users = {
   "1" : {
     "first_name": "James",
     "last_name": "Smith",
     "email": "jsmith@example.com",
   },
   "2" : {
     "first_name": "Robin",
     "last_name": "Doe",
     "email": "rdoe@example.com"
   }
 };

また、getKeysメソッドは存在しませんkeys。代わりに次を使用してください。

 var keys = users.keys;
 assert(keys.length == 2);
 assert(keys.contains("2"));
 assert(users["1"]["first_name"] == "James");
于 2012-12-16T19:46:06.357 に答える