回答編集履歴
4
さらに内容追記
test
CHANGED
@@ -37,3 +37,47 @@
|
|
37
37
|
頭で考えた形式ではなく、実際に存在しているデータを示していただけると、より回答しやすくなると思います。
|
38
38
|
|
39
39
|
(CSVファイルだったりしますでしょうか?)
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
---
|
44
|
+
|
45
|
+
入力データの形式が判明したため、追記します。
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
以下のように愚直に連結するしかないかなーと思います。
|
50
|
+
|
51
|
+
```Ruby
|
52
|
+
|
53
|
+
sample = PersonalLog.all
|
54
|
+
|
55
|
+
h = {}
|
56
|
+
|
57
|
+
sample.each do |x|
|
58
|
+
|
59
|
+
h2 = {}
|
60
|
+
|
61
|
+
x.data.each do |key, val|
|
62
|
+
|
63
|
+
if h2[key].nil?
|
64
|
+
|
65
|
+
# キーに対応する値が無ければ、そのまま値を代入する
|
66
|
+
|
67
|
+
h2[key] = val
|
68
|
+
|
69
|
+
else
|
70
|
+
|
71
|
+
# キーに対応する値が存在するときは、カンマで連結する
|
72
|
+
|
73
|
+
h2[key] = [h2[key], val].join(",")
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
78
|
+
|
79
|
+
h.[x.macaddr]=h2
|
80
|
+
|
81
|
+
end
|
82
|
+
|
83
|
+
```
|
3
内容訂正
test
CHANGED
@@ -16,11 +16,9 @@
|
|
16
16
|
|
17
17
|
```Ruby
|
18
18
|
|
19
|
-
[{"32:5A:3D:87:21:AA" =>"{"
|
19
|
+
[{"32:5A:3D:87:21:AA" =>"{"email":"bunana@gmail.com","phone":"080-4345-xx23"}",
|
20
20
|
|
21
|
-
|
21
|
+
...
|
22
|
-
|
23
|
-
"32:5A:3D:87:21:AA" =>"{"email":"bunana@gmail.com","phone":"080-4345-xx23"}",
|
24
22
|
|
25
23
|
}]
|
26
24
|
|
@@ -37,3 +35,5 @@
|
|
37
35
|
連結文字を「:」にしても同じことです。
|
38
36
|
|
39
37
|
頭で考えた形式ではなく、実際に存在しているデータを示していただけると、より回答しやすくなると思います。
|
38
|
+
|
39
|
+
(CSVファイルだったりしますでしょうか?)
|
2
さらに内容訂正
test
CHANGED
@@ -25,3 +25,15 @@
|
|
25
25
|
}]
|
26
26
|
|
27
27
|
```
|
28
|
+
|
29
|
+
---
|
30
|
+
|
31
|
+
すみません、キーが同じだったですね。。。
|
32
|
+
|
33
|
+
この場合、警告が出るとともに、最後のキーのみ有効になります。
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
連結文字を「:」にしても同じことです。
|
38
|
+
|
39
|
+
頭で考えた形式ではなく、実際に存在しているデータを示していただけると、より回答しやすくなると思います。
|
1
内容訂正
test
CHANGED
@@ -8,4 +8,20 @@
|
|
8
8
|
|
9
9
|
```
|
10
10
|
|
11
|
-
上記の表現は配列、ハッシュの表現がごちゃまぜになっており、
|
11
|
+
上記の表現は配列、ハッシュの表現がごちゃまぜになっており、意図したデータになっていないと思われます。
|
12
|
+
|
13
|
+
`=>`で連結されたデータはハッシュとなりますが、`[]`で囲われているので、正確には以下のようになります。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
```Ruby
|
18
|
+
|
19
|
+
[{"32:5A:3D:87:21:AA" =>"{"uid":"dfasdfas","email":"apple@gmail.com"}",
|
20
|
+
|
21
|
+
"32:5A:3D:87:21:AA" =>"{"uid":"kdjfasdf","email":"apple@gmail.com"}",
|
22
|
+
|
23
|
+
"32:5A:3D:87:21:AA" =>"{"email":"bunana@gmail.com","phone":"080-4345-xx23"}",
|
24
|
+
|
25
|
+
}]
|
26
|
+
|
27
|
+
```
|