teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

誤字

2018/01/10 07:17

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -4,7 +4,7 @@
4
4
  APIのレスポンスが
5
5
 
6
6
  ```
7
- { [{
7
+ { "users": [{
8
8
  "id":1
9
9
  "has_weapon":true
10
10
  "weapon": "gun"
@@ -13,6 +13,7 @@
13
13
  "id":2
14
14
  "has_weapon":false
15
15
  }
16
+ ]
16
17
  }
17
18
  ```
18
19
 

2

誤字

2018/01/10 07:17

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -12,6 +12,7 @@
12
12
  {
13
13
  "id":2
14
14
  "has_weapon":false
15
+ }
15
16
  }
16
17
  ```
17
18
 

1

追加説明

2018/01/10 07:16

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,1 +1,36 @@
1
- `JSON`をgoで`Marshal`したいのですが、構造体によって定義されるので、レスポンスの構造が予想できないときって、どのようにすればいいのですか?
1
+ `JSON`をgoで`Marshal`したいのですが、構造体によって定義されるので、レスポンスの構造が予想できないときって、どのようにすればいいのですか?
2
+
3
+
4
+ APIのレスポンスが
5
+
6
+ ```
7
+ { [{
8
+ "id":1
9
+ "has_weapon":true
10
+ "weapon": "gun"
11
+ },
12
+ {
13
+ "id":2
14
+ "has_weapon":false
15
+ }
16
+ ```
17
+
18
+ のようなJSONが返ってくるときに
19
+
20
+ ```go
21
+ type user struct {
22
+ ID int
23
+ HasWeapon bool
24
+ weapon string
25
+ }
26
+ ```
27
+
28
+ のようにマッピングしたとて、それを`u`とします。
29
+ このときに
30
+
31
+ ```go
32
+ weapon = u.Weapon
33
+ ```
34
+
35
+ とすると`id=2`のときはエラーが出て無理ですよね?
36
+ こういう場合ってどのように実装するべきですか?