私は、エクスプレスjsアプリケーションでアンダースコアを使用して、前のページからのユーザー入力に応じてjsonファイルをフィルタリングします。これは私がこれまで何をやったかである:ノード/ expressjsのjsonオブジェクトをフィルタリングする
var fs = require('fs');
var contents = fs.readFileSync("public/files/testFile.json");
var obj = JSON.parse(contents);
var gender = req.query.gender
var filtered = _.where(obj.elements, {gender: true}); // elements is the array I want to filter
私はフィルターにしようとしているJSONは以下の通りです:私はときに、同じ男」で変数性別を変更すること
{
"elements": [
{
"id": 0,
"man": true,
"url": "https://pbs.twimg.com/media/CfRi_u8aaW8AfQvI7v.jpg"
},
{
"id": 1,
"Woman": true,
"url": "https://pbs.twimg.com/media/CfZ-8ikafWsAAngQGP.jpg"
}
]
}
お知らせ"これは正しく機能します。このような検索のために変数を使うのはうまくいきません。 2つの質問があります:
- 私はそれを動作させるために何ができますか?
- 問題を解決するには、より良い方法がありますか?
JSON –
データキャリアとしてキーを誤用する古典的なケースを示してください。オブジェクトのキーを "man"と "woman"と呼ぶべきではありません。それがデータです。それを「ジェンダー」と呼び、異なる価値を与えます。 – Tomalak
これはそれを行うより効率的な方法ですが、依然としてフィルタリングの問題を解決していません。私が探しているのは、いくつかの新しいフィールドを追加することです。このようなフィルタリングが最善の選択肢かどうかわかりません。 – ZanattMan