###実現したいこと
jQueryで、対象のjsonから、
「user_id = '777'を持っている"user"の部分」
を取得するにはどのようにすればよろしいでしょうか?
js
1// 対象 2var json = '{ 3 "comment":[ 4 { 5 "comment_id":2, 6 "comment_type":"A", 7 "user":{"user_id":"777","user_type":"guest"}, // ここだけ取得したい 8 "vote":0 9 }, 10 { 11 "comment_id":1, 12 "comment_type":"A" 13 } 14 ] 15}';
つまり、上記jsonから下記resultを取得したいのです。
// 取得 var user_id = '777'; var result = '知りたい処理'; // 出力 console.log( result ); // '{"user_id":"777","user_type":"guest"}' という風に取得したい
ちなみにjsonには同じuser_idが複数ありえますが、取得する"user"は最初の1つだけで構いません。
###試したこと
$.grepを使って下記を書いてみましたが、空の配列が取得されるだけでした…
jQuery
1// 対象 2var json = '{"comment":[{"comment_id":2,"comment_type":"A","user":{"user_id":"777","user_type":"guest"},"vote":0},{"comment_id":1,"comment_type":"A"}]}'; 3var object = JSON.parse( json ); 4 5// 取得 6var user_id = '777'; 7var result = $.grep(object, 8 function(obj, idx){ 9 return (obj.user_id == user_id); 10 } 11); 12 13// 出力 14console.log( result );
回答2件
あなたの回答
tips
プレビュー
2019/07/09 22:38
2019/07/09 22:42
2019/07/09 22:44
2019/07/09 23:17