質問編集履歴
4
不要な部分削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -35,29 +35,6 @@
|
|
35
35
|
上記以外にhttp.Request の ParseFormやPostForm, PostFormValue など試してみましたが、いずれも
|
36
36
|
うまくいきませんでした。
|
37
37
|
|
38
|
-
### 追記
|
39
|
-
|
40
|
-
構造体の `Expectations` のところを
|
41
|
-
```Go
|
42
|
-
`Expectations []map[string]string `json:"expectations"``
|
43
|
-
```
|
44
|
-
|
45
|
-
にするだけではだめですよね・・・?
|
46
|
-
コンソールに以下の内容が出力されました。
|
47
|
-
```
|
48
|
-
`"status":400,"error":"code=400, message=Unmarshal type error: expected=string, got=bool, field=body.expectations, offset=203, internal=json: cannot unmarshal bool into Go struct field .body.expectations of type string",`
|
49
|
-
```
|
50
|
-
|
51
|
-
上記に加えて回答に記述していただいた `const s` の部分を取得しようとして以下のように記述してみたのですが、
|
52
|
-
`"message":"[PANIC RECOVER] json: cannot unmarshal bool into Go struct field .body.expectations of type string goroutine 24` というエラーが出てしまいました。
|
53
|
-
|
54
|
-
```Go
|
55
|
-
length, _ := strconv.Atoi(r.Header.Get("Content-Length"))
|
56
|
-
body := make([]byte, length)
|
57
|
-
length, _ = r.Body.Read(body)
|
58
|
-
if err := json.Unmarshal(body[:length], &構造体の変数); err != nil {
|
59
|
-
panic(err)
|
60
|
-
}
|
61
|
-
```
|
62
38
|
|
63
39
|
|
40
|
+
|
3
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -35,4 +35,29 @@
|
|
35
35
|
上記以外にhttp.Request の ParseFormやPostForm, PostFormValue など試してみましたが、いずれも
|
36
36
|
うまくいきませんでした。
|
37
37
|
|
38
|
+
### 追記
|
38
39
|
|
40
|
+
構造体の `Expectations` のところを
|
41
|
+
```Go
|
42
|
+
`Expectations []map[string]string `json:"expectations"``
|
43
|
+
```
|
44
|
+
|
45
|
+
にするだけではだめですよね・・・?
|
46
|
+
コンソールに以下の内容が出力されました。
|
47
|
+
```
|
48
|
+
`"status":400,"error":"code=400, message=Unmarshal type error: expected=string, got=bool, field=body.expectations, offset=203, internal=json: cannot unmarshal bool into Go struct field .body.expectations of type string",`
|
49
|
+
```
|
50
|
+
|
51
|
+
上記に加えて回答に記述していただいた `const s` の部分を取得しようとして以下のように記述してみたのですが、
|
52
|
+
`"message":"[PANIC RECOVER] json: cannot unmarshal bool into Go struct field .body.expectations of type string goroutine 24` というエラーが出てしまいました。
|
53
|
+
|
54
|
+
```Go
|
55
|
+
length, _ := strconv.Atoi(r.Header.Get("Content-Length"))
|
56
|
+
body := make([]byte, length)
|
57
|
+
length, _ = r.Body.Read(body)
|
58
|
+
if err := json.Unmarshal(body[:length], &構造体の変数); err != nil {
|
59
|
+
panic(err)
|
60
|
+
}
|
61
|
+
```
|
62
|
+
|
63
|
+
|
2
title fix
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Go (Echo) で複雑な構造のJSONからデータを取得したい
|
1
|
+
Go (Echo) で複雑な構造のJSON(POSTリクエスト)からデータを取得したい
|
test
CHANGED
File without changes
|
1
詳細
test
CHANGED
File without changes
|
test
CHANGED
@@ -23,7 +23,7 @@
|
|
23
23
|
type 構造体名 struct {
|
24
24
|
Body struct {
|
25
25
|
UserID string `json:"user_id"`
|
26
|
-
Expectations map[int]map[string]string `json:"expectations"`
|
26
|
+
Expectations map[int]map[string]string `json:"expectations"` // ※可変長です。UI的には行追加ボタンを押して何行でも入力できるイメージ
|
27
27
|
} `json:"body"`
|
28
28
|
}
|
29
29
|
```
|