質問編集履歴

3

誤字

2018/01/10 07:17

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  ```
12
12
 
13
- { [{
13
+ { "users": [{
14
14
 
15
15
  "id":1
16
16
 
@@ -27,6 +27,8 @@
27
27
  "has_weapon":false
28
28
 
29
29
  }
30
+
31
+ ]
30
32
 
31
33
  }
32
34
 

2

誤字

2018/01/10 07:17

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -25,6 +25,8 @@
25
25
  "id":2
26
26
 
27
27
  "has_weapon":false
28
+
29
+ }
28
30
 
29
31
  }
30
32
 

1

追加説明

2018/01/10 07:16

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1 +1,71 @@
1
1
  `JSON`をgoで`Marshal`したいのですが、構造体によって定義されるので、レスポンスの構造が予想できないときって、どのようにすればいいのですか?
2
+
3
+
4
+
5
+
6
+
7
+ APIのレスポンスが
8
+
9
+
10
+
11
+ ```
12
+
13
+ { [{
14
+
15
+ "id":1
16
+
17
+ "has_weapon":true
18
+
19
+ "weapon": "gun"
20
+
21
+ },
22
+
23
+ {
24
+
25
+ "id":2
26
+
27
+ "has_weapon":false
28
+
29
+ }
30
+
31
+ ```
32
+
33
+
34
+
35
+ のようなJSONが返ってくるときに
36
+
37
+
38
+
39
+ ```go
40
+
41
+ type user struct {
42
+
43
+ ID int
44
+
45
+ HasWeapon bool
46
+
47
+ weapon string
48
+
49
+ }
50
+
51
+ ```
52
+
53
+
54
+
55
+ のようにマッピングしたとて、それを`u`とします。
56
+
57
+ このときに
58
+
59
+
60
+
61
+ ```go
62
+
63
+ weapon = u.Weapon
64
+
65
+ ```
66
+
67
+
68
+
69
+ とすると`id=2`のときはエラーが出て無理ですよね?
70
+
71
+ こういう場合ってどのように実装するべきですか?