JSONオブジェクトに対してjQueryのfind()を使用する
2023-10-24 17:15:17
質問
類似の
brnwdrng さんの質問
私はJSONのようなオブジェクトを検索する方法を探しています。
私のオブジェクトの構造が次のようであると仮定します。
TestObj = {
"Categories": [{
"Products": [{
"id": "a01",
"name": "Pine",
"description": "Short description of pine."
},
{
"id": "a02",
"name": "Birch",
"description": "Short description of birch."
},
{
"id": "a03",
"name": "Poplar",
"description": "Short description of poplar."
}],
"id": "A",
"title": "Cheap",
"description": "Short description of category A."
},
{
"Product": [{
"id": "b01",
"name": "Maple",
"description": "Short description of maple."
},
{
"id": "b02",
"name": "Oak",
"description": "Short description of oak."
},
{
"id": "b03",
"name": "Bamboo",
"description": "Short description of bamboo."
}],
"id": "B",
"title": "Moderate",
"description": "Short description of category B."
}]
};
id="A"を持つオブジェクトを取得したい。
などなど、いろいろ試してみました。
$(TestObj.find(":id='A'"))
が、何も動作しないようです。
each'を使わずに、ある基準に基づいて項目を取得する方法を誰か思いつかないでしょうか?
どのように解決するのですか?
jQueryは、プレーンなオブジェクトリテラルでは動作しません。以下の関数は、オブジェクト内の深さに関係なく、すべての 'id' (または他のプロパティ)を検索するために、同様の方法で使用することができます。
function getObjects(obj, key, val) {
var objects = [];
for (var i in obj) {
if (!obj.hasOwnProperty(i)) continue;
if (typeof obj[i] == 'object') {
objects = objects.concat(getObjects(obj[i], key, val));
} else if (i == key && obj[key] == val) {
objects.push(obj);
}
}
return objects;
}
のように使う。
getObjects(TestObj, 'id', 'A'); // Returns an array of matching objects
関連
-
[解決済み] jQuery の jquery-1.10.2.min.map が 404 (Not Found) を誘発する。
-
[解決済み] 数値の配列の和の求め方
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
-
[解決済み] jQueryでJavaScriptオブジェクトから選択する際に、オプションを追加する最も良い方法は何ですか?
-
[解決済み] jQuery データ属性の値に基づいて要素を検索する方法は?
-
[解決済み] Twitter Bootstrapのモーダルクローズに関数をバインドする
-
[解決済み] jQueryでオブジェクトに登録されたイベントハンドラを検索する
-
[解決済み] jQueryを使用して要素の型を検索する
-
[解決済み] jQueryでinput[type=text]の値変化を検出する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jquery - is not a function エラー
-
[解決済み] jest.fn()の値はモック関数またはスパイである必要があります。
-
[解決済み] JavaScript - 二重引用符のエスケープ
-
[解決済み] jQuery 複数のイベントで同じ関数を起動する
-
[解決済み] jQueryのSELECT要素で特定のオプションを選択するにはどうすればよいですか?
-
[解決済み] 複数のクラスを削除する(jQuery)
-
[解決済み] JQueryでラジオボタンがチェックされているかどうかを調べる?
-
[解決済み] jQueryを使用してテキストボックスの値を取得するには?
-
[解決済み] jQueryを使用してDropDownListの値を設定するにはどうすればよいですか?
-
[解決済み] jQueryで多段式フォームをリセットする