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

質問編集履歴

3

誤字修正

2021/11/20 09:06

投稿

DevOnakama
DevOnakama

スコア10

title CHANGED
File without changes
body CHANGED
@@ -45,7 +45,7 @@
45
45
  ```
46
46
  struct res: Decodable {
47
47
  let statusCode: Int
48
- let body: MemoModel
48
+ let body: [MemoModel]
49
49
 
50
50
  struct MemoModel: Decodable {
51
51
  var id: Int

2

swift側のコードを追記

2021/11/20 09:06

投稿

DevOnakama
DevOnakama

スコア10

title CHANGED
File without changes
body CHANGED
@@ -41,4 +41,32 @@
41
41
 
42
42
  ### 補足情報(FW/ツールのバージョンなど)
43
43
 
44
- Swiftでは期待しているjsonのみしかdecodeできなかった。
44
+ Swiftでは期待しているjsonのみしかdecodeできなかった。
45
+ ```
46
+ struct res: Decodable {
47
+ let statusCode: Int
48
+ let body: MemoModel
49
+
50
+ struct MemoModel: Decodable {
51
+ var id: Int
52
+ var name: String
53
+ var date: Date
54
+ }
55
+ }
56
+ func jsonDecode(data: Data) {
57
+ let decoder: JSONDecoder = JSONDecoder()
58
+ decoder.dateDecodingStrategy = .formatted(.iso8601Shrt)
59
+ let decodedRes = try! decoder.decode(res.self, from: data)
60
+ print(decodedRes)
61
+ }
62
+ extension DateFormatter {
63
+ static let iso8601Shrt: DateFormatter = {
64
+ let formatter = DateFormatter()
65
+ formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
66
+ formatter.calendar = Calendar(identifier: .iso8601)
67
+ formatter.timeZone = TimeZone(secondsFromGMT: 0)
68
+ formatter.locale = Locale(identifier: "en_US_POSIX")
69
+ return formatter
70
+ }()
71
+ }
72
+ ```

1

期待しているjsonに句読点を加筆しました。

2021/11/20 09:04

投稿

DevOnakama
DevOnakama

スコア10

title CHANGED
File without changes
body CHANGED
@@ -7,8 +7,8 @@
7
7
 
8
8
  ```
9
9
  {
10
- "statusCode": 200,
10
+ "statusCode": 200,
11
- "body": [{\"id\": 1, \"name\": \"sample1\", \"date\": \"2021-10-25T10:58:00\"}, {\"id\": 2, \"name\": \"sample1\"\"date\": \"2021-10-25T10:58:00\"}]
11
+ "body": [{\"id\": 1, \"name\": \"sample1\", \"date\": \"2021-10-25T10:58:00\"},{\"id\": 2, \"name\": \"sample1\", \"date\": \"2021-10-25T10:58:00\"}]
12
12
  }
13
13
  ```
14
14
 
@@ -17,9 +17,9 @@
17
17
 
18
18
  ```
19
19
  {
20
- "statusCode": 200,
20
+ "statusCode": 200,
21
- "body": "[{\"id\": 1, \"name\": \"sample1\", \"date\": \"2021-10-25T10:58:00\"}, {\"id\": 2, \"name\": \"sample1\"\"date\": \"2021-10-25T10:58:00\"}]"
21
+ "body": "[{\"id\": 1, \"name\": \"sample1\", \"date\": \"2021-10-25T10:58:00\"},{\"id\": 2, \"name\": \"sample1\", \"date\": \"2021-10-25T10:58:00\"}]"
22
- }
22
+ }
23
23
  ```
24
24
 
25
25
  ### 該当のソースコード
@@ -39,7 +39,6 @@
39
39
  ```
40
40
 
41
41
 
42
-
43
42
  ### 補足情報(FW/ツールのバージョンなど)
44
43
 
45
44
  Swiftでは期待しているjsonのみしかdecodeできなかった。