• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Bestimmte Arrays in Json Format ausgeben

bb90

New member
Hallo Leute,

Ich arbeite zurzeit an einer Hausarbeit mit Signavio Workflow. Nun brauche ich in gewissen Bereichen Javascript Kenntnisse/Programmierung. Ich verstehe soweit gut objektorientierte Programmierung. Jetzt kommen wir mal zu meinem Fall

Anhand einer Wetterwebseite muss ich verschiedene Wetterdaten wie z.b. Temparatur,Luftfeuchtigkeit usw. in eine Variable speichern. Es wurde ein Code Schnippsel vorgegeben der wie folgt aussieht:

Code:
request('http://api.openweathermap.org/data/2.5/weather?q=London,uk',
function (error, response, body) {
if (!error && response.statusCode === 200) {
console.log(body); // Print current London weather as json
}
}
);


Dieser Code packt die einzelne Wetterdaten in einem Array um und gibt sie aus.

Code:
{"coord":
{"lon":37.62,"lat":55.75},
"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],
"base":"cmc stations",
"main":{"temp":19.95,"pressure":1014,"humidity":55,"temp_min":19,"temp_max":20.6},
"wind":{"speed":1},
"clouds":{"all":0},
"dt":1464937804,"sys":{"type":1,"id":7323,"message":0.0039,"country":"RU","sunrise":1464915046,"sunset":1464977133},
"id":524901,
"name":"London","cod":200}

Alles soweit gut !

Jedoch möchte ich nur bestimmte Daten ausgeben. Beispiel Nur die Temparatur. Hat jemand ne Idee ? Danke für jede Antwort

Gruß bb90
 
Zuletzt bearbeitet von einem Moderator:
Packe doch die von dir benötigten Daten in ein neues Objekt, wenn du dir davon ein Vorteil versprichst.
PHP:
var mydata = {
  "temp" : data.main.temp,
   "humidity": data.main.humidity
};
alert(mydata.temp);
Schau dir dazu an an, wie einfach in Javascript auf Objekte zugegriffen wird.

Anmerkung:
Nach meinem Kenntnisstand zur Openweathermap werden nicht immer alle Daten geliefert.
Hier gilt es aufzupassen und die Daten vorher auf Existenz zu prüfen.
 
Code:
request(
	'http://api.openweathermap.org/data/2.5/weather?q=London,uk',
	function (error, response, body) {
		if (!error && response.statusCode === 200){
			var data = JSON.parse(body);
			console.log(data);
			console.log(data.main.temp);
		}
	}
);
 
danke habe soweit alles jedoch fehlt mir ein Feld. Ich muss einen Algorithmus schreiben der mir sagt ob es bewölkt ist oder nicht. falls es bewölkt ist speichert er in der Varriable ein ja und falls es nicht bewölkt ist ein nein. Die Daten sehen wie folgt aus
Code:
{"coord":
{"lon":145.77,"lat":-16.92},
"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04n"}],
"base":"cmc stations",
"main":{"temp":293.25,"pressure":1019,"humidity":83,"temp_min":289.82,"temp_max":295.37},
"wind":{"speed":5.1,"deg":150},
"clouds":{"all":75},
"rain":{"3h":3},
"dt":1435658272,
"sys":{"type":1,"id":8166,"message":0.0166,"country":"AU","sunrise":1435610796,"sunset":1435650870},
"id":2172797,
"name":"Cairns",
"cod":200}


Ich komme irgenwie nicht an weather.main ran. Schaut so aus als wenn ein Array wiederum im Array ist oder täusche ich mich da ? Mein code sieht wie folgt bisher aus

Code:
if(ort == 'Moskau'){
    
request('http://api.openweathermap.org/data/2.5/weather?q=Moskau,ru&units=metric&appid=8e630a29a566e6a2b1e68115a048e194',
function (error, response, body) {
if (!error && response.statusCode === 200 ) {
temperaturInGradCelsius = JSON.parse(body).main.temp;
windgeschwindigkeit = JSON.parse(body).wind.speed;
aktuelleLuftfeuchtigkeitIn = JSON.parse(body).main.humidity;
ortInGoogleMaps = "http://maps.google.com/?q="+JSON.parse(body).coord.lat+","+JSON.parse(body).coord.lon+"";

if(bewLkt) // <--- Hier fehlt mir die Anweisung das er ja oder nein setzen soll









}
}
);


}

Gruß

bb90
 
Zurück
Oben