回答編集履歴

2

コメントを受けて追記

2023/09/04 13:10

投稿

TakaiY
TakaiY

スコア14328

test CHANGED
@@ -16,3 +16,75 @@
16
16
  とあるように、問題のある行を省いてみるのは意味が無いことが多いです。
17
17
  その行は必要だからあるのだし、そもそもその行が原因ではなくその前に原因があるので、その行を無くしてしまえば、問題ほ増やしているだけだからです。
18
18
 
19
+ ---
20
+ BAついていますが、コメントいただいたので追記します。
21
+
22
+ 質問前に内容は見てみたとのこと。ですが、もしかして、以下のような形のまま見ていたのでしょうか?
23
+ ```json
24
+ {'cod': '200', 'message': 0, 'cnt': 1, 'list': [{'dt': 1693828800, 'main': {'temp': 28.34, 'feels_like': 34.25, 'temp_min': 27.81, 'temp_max': 28.34, 'pressure': 1010, 'sea_level': 1010, 'grnd_level': 1008, 'humidity': 87, 'temp_kf': 0.53}, 'weather': [{'id': 500, 'main': 'Rain', 'description': '小雨', 'icon': '10n'}], 'clouds': {'all': 75}, 'wind': {'speed': 2.86, 'deg': 182, 'gust': 3.93}, 'visibility': 10000, 'pop': 0.62, 'rain': {'3h': 1.24}, 'sys': {'pod': 'n'}, 'dt_txt': '2023-09-04 12:00:00'}], 'city': {'id': 1857654, 'name': '東京都千代田区丸の内', 'coord': {'lat': 35.6813, 'lon': 139.766}, 'country': 'JP', 'population': 0, 'timezone': 32400, 'sunrise': 1693772087, 'sunset': 1693818368}}
25
+ ```
26
+ jsonは複雑な構造をしている場合があるので、このなかに「weather」というキーが見えるからといって、それがトップレベルにあるかどうかはわかりません。こういう場合は、構造がわかるように整形して みてみるべきでしょう。
27
+ このように整形することを pritty print とも言います。 エディタにも機能が付いていることもありますし、 オンラインの整形ツールもいくつも提供されています。 「json 整形」とか「 json pretty print」とかで検索すればいろいろみつかります。
28
+ このようにしてみれば、どのような構造で、どのようにアクセスすれば求める情報を得ることができるかわかるでしょう。
29
+ ```json
30
+ {
31
+ "cod": "200",
32
+ "message": 0,
33
+ "cnt": 1,
34
+ "list": [
35
+ {
36
+ "dt": 1693828800,
37
+ "main": {
38
+ "temp": 28.34,
39
+ "feels_like": 34.25,
40
+ "temp_min": 27.81,
41
+ "temp_max": 28.34,
42
+ "pressure": 1010,
43
+ "sea_level": 1010,
44
+ "grnd_level": 1008,
45
+ "humidity": 87,
46
+ "temp_kf": 0.53
47
+ },
48
+ "weather": [
49
+ {
50
+ "id": 500,
51
+ "main": "Rain",
52
+ "description": "小雨",
53
+ "icon": "10n"
54
+ }
55
+ ],
56
+ "clouds": {
57
+ "all": 75
58
+ },
59
+ "wind": {
60
+ "speed": 2.86,
61
+ "deg": 182,
62
+ "gust": 3.93
63
+ },
64
+ "visibility": 10000,
65
+ "pop": 0.62,
66
+ "rain": {
67
+ "3h": 1.24
68
+ },
69
+ "sys": {
70
+ "pod": "n"
71
+ },
72
+ "dt_txt": "2023-09-04 12:00:00"
73
+ }
74
+ ],
75
+ "city": {
76
+ "id": 1857654,
77
+ "name": "東京都千代田区丸の内",
78
+ "coord": {
79
+ "lat": 35.6813,
80
+ "lon": 139.766
81
+ },
82
+ "country": "JP",
83
+ "population": 0,
84
+ "timezone": 32400,
85
+ "sunrise": 1693772087,
86
+ "sunset": 1693818368
87
+ }
88
+ }
89
+ ```
90
+

1

追記

2023/09/04 11:14

投稿

TakaiY
TakaiY

スコア14328

test CHANGED
@@ -10,3 +10,9 @@
10
10
  - debug実行して取得後のresponseの中身を確認する。
11
11
  - debugできないのであれば、print(response)などとして表示してみる
12
12
  と、問題の原因が1つわかるでしょう。
13
+
14
+ また、
15
+ > この行全体をコメントアウトする
16
+ とあるように、問題のある行を省いてみるのは意味が無いことが多いです。
17
+ その行は必要だからあるのだし、そもそもその行が原因ではなくその前に原因があるので、その行を無くしてしまえば、問題ほ増やしているだけだからです。
18
+