Hallo Allemaal,
Ik ben bezig met een programma blok te maken in PicoC.
De bedoeling is dat ik data uit een API (JSON Response) lees ( zie onder een voorbeeld van de data uit de api) in mijn geval gaat het om de "precipIntensity"
Ik heb het eerste stuk gemaakt dat URL ingevoerd wordt binnen het script ( zie de code hieronder).
Probleem:
Ik kan niet vinden hoe ik de juiste regel uit de API (JSON Response) data kan opslaan in een variable binnen het script.
Huidige aanvraag van url ( de %s worden hoger in het programma ingevuld met de juiste gegevens.
Voorbeeld van de API layout die ik verkrijg van DarkSky
Ik ben bezig met een programma blok te maken in PicoC.
De bedoeling is dat ik data uit een API (JSON Response) lees ( zie onder een voorbeeld van de data uit de api) in mijn geval gaat het om de "precipIntensity"
Ik heb het eerste stuk gemaakt dat URL ingevoerd wordt binnen het script ( zie de code hieronder).
Probleem:
Ik kan niet vinden hoe ik de juiste regel uit de API (JSON Response) data kan opslaan in een variable binnen het script.
Huidige aanvraag van url ( de %s worden hoger in het programma ingevuld met de juiste gegevens.
code:
1
2
3
4
5
6
7
8
9
10
| char *HTTPPtr; if(true) { char buffer[200]; // Read data from API sprintf(buffer, "/forecast/%s/%s,%s?lang=%s&exclude=%s&units=%s", ApiKey, Latitude, Longitude, Language, Exclude, Units); HTTPPtr = httpget("https://api.darksky.net", buffer); setoutputtext(2,buffer); setlogtext(buffer); free(HTTPPtr); } |
Voorbeeld van de API layout die ik verkrijg van DarkSky
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
| GET https://api.darksky.net/forecast/0123456789abcdef9876543210fedcba/42.3601,-71.0589,255657600?exclude=currently,flags { "latitude": , "longitude": , "timezone": "Europe/Dublin", "currently": { "time": 1554367142, "summary": "Overwegend bewolkt", "icon": "partly-cloudy-day", "nearestStormDistance": 27, "nearestStormBearing": 145, "precipIntensity": 0, "precipProbability": 0, "temperature": 5.83, "apparentTemperature": 1.16, "dewPoint": 3.57, "humidity": 0.85, "pressure": 986.15, "windSpeed": 8.28, "windGust": 10.65, "windBearing": 9, "cloudCover": 0.9, "uvIndex": 1, "visibility": 16.09, "ozone": 444.87 }, "hourly": { "summary": "Lichte regen gedurende morgenochtend.", "icon": "rain", "data": [ { "time": 1554364800, "summary": "Overwegend bewolkt", "icon": "partly-cloudy-day", "precipIntensity": 0.1092, "precipProbability": 0.25, "precipType": "rain", "temperature": 5.84, "apparentTemperature": 1.19, "dewPoint": 3.62, "humidity": 0.86, "pressure": 986.28, "windSpeed": 8.24, "windGust": 10.52, "windBearing": 9, "cloudCover": 0.9, "uvIndex": 0, "visibility": 16.09, "ozone": 444.72 }, { "time": 1554368400, "summary": "Overwegend bewolkt", "icon": "partly-cloudy-day", "precipIntensity": 0.0508, "precipProbability": 0.15, "precipType": "rain", "temperature": 5.82, "apparentTemperature": 1.14, "dewPoint": 3.53, "humidity": 0.85, "pressure": 986.08, "windSpeed": 8.31, "windGust": 10.72, "windBearing": 9, "cloudCover": 0.9, "uvIndex": 1, "visibility": 16.09, "ozone": 444.95 }, { "time": 1554372000, "summary": "Overwegend bewolkt", "icon": "partly-cloudy-day", "precipIntensity": 0.0483, "precipProbability": 0.14, "precipType": "rain", "temperature": 5.89, "apparentTemperature": 1.23, "dewPoint": 3.51, "humidity": 0.85, "pressure": 986.28, "windSpeed": 8.31, "windGust": 10.64, "windBearing": 8, "cloudCover": 0.91, "uvIndex": 1, "visibility": 16.09, "ozone": 445.03 }, |
[ Voor 55% gewijzigd door K!K op 04-04-2019 12:23 ]