質問編集履歴

5

コード追加しました。

2020/02/24 11:09

投稿

ko-ru
ko-ru

スコア27

test CHANGED
File without changes
test CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  SwiftでぐるなびAPIを利用しています。
6
6
 
7
+ [https://api.gnavi.co.jp/api/manual/restsearch/](https://api.gnavi.co.jp/api/manual/restsearch/)
8
+
7
9
  ぐるなびAPIからJSONを利用してデータを取得していますが、下記エラーが出ます。
8
10
 
9
11
 
@@ -16,15 +18,205 @@
16
18
 
17
19
 
18
20
 
19
- 推測として、ぐるなびAPIのbudgetの値がある場合はINTとして取得しますが、値が空の場合" "になっていることから、Stringで取得してしまっているように見えます。
21
+ Jsonで取得たデータが空の場合の挙動についまだ理解していないため定かではありませんが、ぐるなびAPIのbudgetの値がある場合はINTとして取得しており、値が空の場合" "になっていることから、Stringで取得してしまっているように見えます。
22
+
23
+
24
+
25
+ ```JSON
26
+
27
+ {
28
+
29
+ "@attributes": {
30
+
31
+ "api_version": "v3"
32
+
33
+ },
34
+
35
+ "total_hit_count": 20832,
36
+
37
+ "hit_per_page": 10,
38
+
39
+ "page_offset": 1,
40
+
41
+ "rest": [
42
+
43
+ {
44
+
45
+ "@attributes": {
46
+
47
+ "order": 0
48
+
49
+ },
50
+
51
+ "id": "",
52
+
53
+ "update_date": "",
54
+
55
+ "name": "",
56
+
57
+ "name_kana": "",
58
+
59
+ "latitude": "",
60
+
61
+ "longitude": "",
62
+
63
+ "category": "",
64
+
65
+ "url": "",
66
+
67
+ "url_mobile": "",
68
+
69
+ "coupon_url": {
70
+
71
+ "pc": "",
72
+
73
+ "mobile": ""
74
+
75
+ },
76
+
77
+ "image_url": {
78
+
79
+ "shop_image1": "",
80
+
81
+ "shop_image2": "",
82
+
83
+ "qrcode": ""
84
+
85
+ },
86
+
87
+ "address": "",
88
+
89
+ "tel": "",
90
+
91
+ "tel_sub": "",
92
+
93
+ "fax": "",
94
+
95
+ "opentime": "",
96
+
97
+ "holiday": "",
98
+
99
+ "access": {
100
+
101
+ "line": "",
102
+
103
+ "station": "",
104
+
105
+ "station_exit": "",
106
+
107
+ "walk": "",
108
+
109
+ "note": ""
110
+
111
+ },
112
+
113
+ "parking_lots": "",
114
+
115
+ "pr": {
116
+
117
+ "pr_short": "",
118
+
119
+ "pr_long": ""
120
+
121
+ },
122
+
123
+ "code": {
124
+
125
+ "areacode": "",
126
+
127
+ "areaname": "",
128
+
129
+ "prefcode": "",
130
+
131
+ "prefname": "",
132
+
133
+ "areacode_s": "",
134
+
135
+ "areaname_s": "",
136
+
137
+ "category_code_l": [
138
+
139
+ "",
140
+
141
+ ""
142
+
143
+ ],
144
+
145
+ "category_name_l": [
146
+
147
+ "",
148
+
149
+ ""
150
+
151
+ ],
152
+
153
+ "category_code_s": [
154
+
155
+ "",
156
+
157
+ ""
158
+
159
+ ],
160
+
161
+ "category_name_s": [
162
+
163
+ "",
164
+
165
+ ""
166
+
167
+ ]
168
+
169
+ },
170
+
171
+ "budget": 3000, //値がない場合は、"budget": "",
172
+
173
+ "party": 4000,
174
+
175
+ "lunch": 980,
176
+
177
+ "credit_card": "",
178
+
179
+ "e_money": "",
180
+
181
+ "flags": {
182
+
183
+ "mobile_site": 1,
184
+
185
+ "mobile_coupon": 1,
186
+
187
+ "pc_coupon": 1
188
+
189
+ }
190
+
191
+ },
192
+
193
+
194
+
195
+ ```
20
196
 
21
197
 
22
198
 
23
199
  ```Swift
24
200
 
201
+ // MARK: - REST
202
+
203
+ struct REST: Codable {
204
+
205
+ let id: String
206
+
207
+ let budget:Int
208
+
209
+
210
+
25
- let budget:String //値がある時エラー
211
+ enum CodingKeys: String, CodingKey {
212
+
26
-
213
+ case id = "id"
214
+
27
- let budget:Int //値がない時エラー
215
+ case budget = "budget"
216
+
217
+ }
218
+
219
+ }
28
220
 
29
221
  ```
30
222
 
@@ -34,8 +226,4 @@
34
226
 
35
227
 
36
228
 
37
-
38
-
39
-
40
-
41
- これを解決する手段があると思いますが、調べて見つけことができなかっめ、ご教授いただけば幸いです。
229
+ またコード自体の書き方に問題がある可能性るため、解決方法をご教授いただけば幸いです。

4

2020/02/24 11:09

投稿

ko-ru
ko-ru

スコア27

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,13 @@
1
+ ### 前提・実現したいこと
2
+
3
+
4
+
5
+ SwiftでぐるなびAPIを利用しています。
6
+
7
+ ぐるなびAPIからJSONを利用してデータを取得していますが、下記エラーが出ます。
8
+
9
+
10
+
1
11
  ```エラー
2
12
 
3
13
  The data couldn’t be read because it isn’t in the correct format.
@@ -6,17 +16,7 @@
6
16
 
7
17
 
8
18
 
9
- ### 前提・実現したいこと
10
-
11
-
12
-
13
- SwiftでぐるなびAPIを利用しています。
14
-
15
- ぐるなびAPIからJSONを利用してデータを取得していますが、budgetのデータがIntだったりStringになったりします。
16
-
17
-
18
-
19
- 推測として、値がある場合はINTとして取得しますが、値が空の場合""になっていることから、Stringで取得してしまっているように見えます。
19
+ 推測として、ぐるなびAPIのbudgetの値がある場合はINTとして取得しますが、値が空の場合" "になっていることから、Stringで取得してしまっているように見えます。
20
20
 
21
21
 
22
22
 

3

2020/02/24 10:34

投稿

ko-ru
ko-ru

スコア27

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,11 @@
1
+ ```エラー
2
+
3
+ The data couldn’t be read because it isn’t in the correct format.
4
+
5
+ ```
6
+
7
+
8
+
1
9
  ### 前提・実現したいこと
2
10
 
3
11
 

2

2020/02/24 10:31

投稿

ko-ru
ko-ru

スコア27

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- 原因として、数値がある場合はINTとして取得しますが、値が空の場合""になっていることから、Stringで取得してしまっているように見えます。
11
+ 推測として、数値がある場合はINTとして取得しますが、値が空の場合""になっていることから、Stringで取得してしまっているように見えます。
12
12
 
13
13
 
14
14
 

1

タグ追加

2020/02/24 09:54

投稿

ko-ru
ko-ru

スコア27

test CHANGED
File without changes
test CHANGED
File without changes