contentful.json
というファイルがmyディレクトリのルートに格納されています。JavaScript - 特定のキー値を見つけるためのオブジェクトをループ
これは、そのファイルがどのように見えるかです:私は、そのファイルがcontentful.js
と呼ばれている
[{ "URL": "/force", "SpaceID": "2g1335I9GYQCKwmQYCuSSI" }, { "URL": "/heroku", "SpaceID": "2g1335I9GYQCKwmQYCuSSI" }, { "URL": "/slack", "SpaceID": "2g1335I9GYQCKwmQYCuSSI" }, { "URL": "/contentful", "SpaceID": "2g1335I9GYQCKwmQYCuSSI" }, { "URL": "/openShift", "SpaceID": "2g1335I9GYQCKwmQYCuSSI" }]
。このようになります
:私が何をしようとしています何
const fs = require('fs');
let obj;
fs.readFile('./contentful.json', 'utf8', (err, jsonData) => {
if (err) throw err;
obj = JSON.parse(jsonData);
// Method One
for (let i = 0, l = obj.length; i < l; i++) {
console.log(obj.URL);
// ...
}
// Method Two
Object.keys(obj).forEach((key) => {
if (key.url === '/heroku') {
console.log(key.SpaceID);
}
});
});
はcontentful.js
ファイルからcontentful.json
ファイルを読み込まれます。どの作品。
次に、そのファイルをループして特定の値を見つけようとしています。
E.GループがJSONオブジェクトを通過し、URLが動的値(/ force)に等しい場合はSpaceIDを返します。
このJSONオブジェクトはnと大きくなる可能性があります。私は2つの解決策を試みましたが、私はまだかなりのものだとは思わない。
contnetful.js
ファイルにURLを入力する必要があり、そのURLがcontnetful.json
ファイルのURLと一致する場合は、そのSpaceIDを返信したいと思います。
'console.log(obj.URL)'の出力は 'undefined'です。これは、JSONオブジェクトのサイズと同じくらい多くの時間、 'undefined'を出力します。この場合は5.しかし、方法2の 'console.log(key.SpaceID);'は何も出力しません。 – user3180997