質問編集履歴
2
不要な文章を削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
###実現したいこと
|
2
2
|
|
3
|
-
jQueryで、
|
3
|
+
jQueryで、対象の``json``から、
|
4
4
|
|
5
|
-
「``user_id = '
|
5
|
+
「``user_id = '777'``を持っている``"user"``の部分」
|
6
6
|
|
7
7
|
を取得するにはどのようにすればよろしいでしょうか?
|
8
8
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
```js
|
12
12
|
|
13
|
-
//
|
13
|
+
// 対象
|
14
14
|
|
15
15
|
var json = '{
|
16
16
|
|
@@ -18,11 +18,11 @@
|
|
18
18
|
|
19
19
|
{
|
20
20
|
|
21
|
-
"comment_id":
|
21
|
+
"comment_id":2,
|
22
22
|
|
23
23
|
"comment_type":"A",
|
24
24
|
|
25
|
-
"user":{"user_id":"
|
25
|
+
"user":{"user_id":"777","user_type":"guest"}, // ここだけ取得したい
|
26
26
|
|
27
27
|
"vote":0
|
28
28
|
|
@@ -30,9 +30,9 @@
|
|
30
30
|
|
31
31
|
{
|
32
32
|
|
33
|
-
"comment_id":
|
33
|
+
"comment_id":1,
|
34
34
|
|
35
|
-
"comment_type":"
|
35
|
+
"comment_type":"A"
|
36
36
|
|
37
37
|
}
|
38
38
|
|
@@ -46,15 +46,19 @@
|
|
46
46
|
|
47
47
|
```
|
48
48
|
|
49
|
+
// 取得
|
50
|
+
|
49
|
-
var user_id = '
|
51
|
+
var user_id = '777';
|
50
52
|
|
51
53
|
var result = '知りたい処理';
|
52
54
|
|
55
|
+
|
56
|
+
|
57
|
+
// 出力
|
58
|
+
|
53
|
-
console.log( result ); // '{"user_id":"
|
59
|
+
console.log( result ); // '{"user_id":"777","user_type":"guest"}' という風に取得したい
|
54
60
|
|
55
61
|
```
|
56
|
-
|
57
|
-
キーを指定して値を取得するのならわかるのですが、値を指定して、その値を持つ部分を取得する。となると、てんで予想できない処理でして、すみませんがどなたか、教えて頂けませんでしょうか。
|
58
62
|
|
59
63
|
|
60
64
|
|
@@ -68,19 +72,19 @@
|
|
68
72
|
|
69
73
|
```jQuery
|
70
74
|
|
71
|
-
// 対象
|
75
|
+
// 対象
|
72
76
|
|
73
|
-
var json = '{"comment":[{"comment_id":
|
77
|
+
var json = '{"comment":[{"comment_id":2,"comment_type":"A","user":{"user_id":"777","user_type":"guest"},"vote":0},{"comment_id":1,"comment_type":"A"}]}';
|
74
78
|
|
75
|
-
var obj = JSON.parse( json );
|
79
|
+
var object = JSON.parse( json );
|
76
80
|
|
77
81
|
|
78
82
|
|
79
|
-
//
|
83
|
+
// 取得
|
80
84
|
|
81
|
-
var user_id = '
|
85
|
+
var user_id = '777';
|
82
86
|
|
83
|
-
var result = $.grep(obj,
|
87
|
+
var result = $.grep(object,
|
84
88
|
|
85
89
|
function(obj, idx){
|
86
90
|
|
1
試したことを追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
###実現したいこと
|
2
|
+
|
1
3
|
jQueryで、こちらの``json``から、
|
2
4
|
|
3
5
|
「``user_id = '317'``を持っている``"user"``の部分」
|
@@ -57,3 +59,41 @@
|
|
57
59
|
|
58
60
|
|
59
61
|
ちなみに``json``には同じ``user_id``が複数ありえますが、取得する``"user"``は最初の1つだけで構いません。
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
###試したこと
|
66
|
+
|
67
|
+
``$.grep``を使って下記を書いてみましたが、空の配列が取得されるだけでした…
|
68
|
+
|
69
|
+
```jQuery
|
70
|
+
|
71
|
+
// 対象となるオブジェクト
|
72
|
+
|
73
|
+
var json = '{"comment":[{"comment_id":364,"comment_type":"A","user":{"user_id":"317","user_type":"A"},"vote":0},{"comment_id":363,"comment_type":"B"}]}';
|
74
|
+
|
75
|
+
var obj = JSON.parse( json );
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
// 要素を抽出する
|
80
|
+
|
81
|
+
var user_id = '317';
|
82
|
+
|
83
|
+
var result = $.grep(obj,
|
84
|
+
|
85
|
+
function(obj, idx){
|
86
|
+
|
87
|
+
return (obj.user_id == user_id);
|
88
|
+
|
89
|
+
}
|
90
|
+
|
91
|
+
);
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
// 出力
|
96
|
+
|
97
|
+
console.log( result );
|
98
|
+
|
99
|
+
```
|