2017-07-27 7 views
0

私はnode.jsを新しくしました(これは2日目のようです)。私は、ユーザーのリストを含むJSONファイルを読み込んで解析し、各ユーザーをusedrnameでキーを付けた辞書に追加するスクリプトを作成しました。私はとても新しいので、私が思いついたものよりも洗練された、または既製のソリューションがあるかどうか疑問に思っていました。node.jsを使って辞書に辞書のリストを追加する一般的な方法

私は、ファイルを読んでいると仮定が含まれていること/users.jsonと呼ばれる:

{ 
    "user1": { 
     "first": "Tom", 
     "last": "Hanks", 
     "job-description": "Movie star" 
    }, 
    "user2": { 
     "first": "Dick", 
     "last": "Trickle", 
     "job-description": "Bar mitzvah entertainer" 
    }, 
    "user3": { 
     "first": "Harry", 
     "last": "Houdini", 
     "job-description": "Escapologist" 
    } 
} 

そして、私のコードのユーザー辞書を作成するには、このようなものになります。

const fs = require('fs') 

var users = fs.readFile(__dirname + '/users.json', 'utf8', (err, users) => { 
    users = JSON.parse(users) 
    var userDictionary = toDictionary(users) 
    console.log('user dictionary', JSON.stringify(userDictionary, null, 4)) 
} 

function toDictionary(objects) 
    var dict = {} 
    Object.keys(objects).forEach((key, object) => { 
     if (objects.hasOwnProperty(key)) { 
      dict[key] = objects[key] // copy whole element to dictionary 
     } 
    }) 
    return dict 
} 

をこれは、コンソールで次のように生成:

user dictionary { 
    "user1": { 
     "first": "Tom", 
     "last": "Hanks", 
     "job-description": "Movie star" 
    }, 
    "user2": { 
     "first": "Dick", 
     "last": "Trickle", 
     "job-description": "Bar mitzvah entertainer" 
    }, 
    "user3": { 
     "first": "Harry", 
     "last": "Houdini", 
     "job-description": "Escapologist" 
    } 
} 

私の言ったように、私のコードは私が望む結果を生むutはこれを達成するための最良の方法ですか?前もって感謝します!

答えて

0

usersオブジェクトはすでに辞書とusernameのキーを使用しています!

+0

これは私が必要とするフィードバックの種類です。ありがとうございます! – Moebius

関連する問題