Ergebnis 1 bis 15 von 15
  1. #1
    robinb112 ist offline Grünschnabel
    registriert
    27-10-2016
    Beiträge
    7

    Question JSONP Daten auslesen

    Hallo zusammen,
    ich habe folgendes Problem und zwar möchte ich die Wetterdaten welche von DWD als JSONP bereitgestellt werden (http://www.dwd.de/DWD/warnungen/warn.../warnings.json) mittels Javascript auslesen.
    Das Problem ist nun folgendes dass DWD selbst schreibt: "Im Unterschied gibt es vor dem eigentlich JSON-Code zusätzlich den Präfix "warnWetter.loadWarnings(" und am Ende noch ein " );". Werden die Anfangs- und Endzeichen entfernt (z.B. durch Nutzung einer "Substring"-Funktion) erhält man den reinen JSON-Code". Die Frage ist nun wie genau stelle ich das an mit der Substring Funktion und wie kann ich die Daten welche ja in der JSON verschachtelt sind einzeln auslesen?

    Danke für die Hilfe.
    Geändert von mikdoe (09-11-2016 um 23:54 Uhr) Grund: Gelöst gesetzt

  2. #2
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.695

    AW: JSONP Daten auslesen

    Erzeuge doch auf deiner Seite einfach ein Objekt warnWetter, das eine Methode loadWarnings hat. Dann brauchst du gar nicht machen:
    Code:
    <!DOCTYPE html>
    
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>Fenstertitel</title>
    <script type="text/javascript">
    var warnWetter = {
    	loadWarnings: function(obj){
    		console.log(obj);
    	}
    };
    </script>
    <script type="text/javascript" src="http://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json"></script>
    <style type="text/css"></style>
    </head>
    <body>
    inhalt
    </body>
    </html>
    - - - Aktualisiert - - -

    Zu der anderen Frage: was willst du denn mit den Daten von DWD dann machen?

  3. #3
    robinb112 ist offline Grünschnabel
    registriert
    27-10-2016
    Beiträge
    7

    AW: JSONP Daten auslesen

    Erst einmal danke für die Antwort. Ich möchte dann die Daten speziell für einen Landkreis auf einer Feuerwehr Website darstellen.

  4. #4
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.695

    AW: JSONP Daten auslesen

    OK - du müsstest also durch die Warnungen durchiterieren (Object.keys() mit .forEach() könnte dabei helfen), nach dem Landkreis filtern und dann die übrig gebliebenen Elemente darstellen.
    Bei welchem Schritt hast du Probleme?

  5. #5
    robinb112 ist offline Grünschnabel
    registriert
    27-10-2016
    Beiträge
    7

    AW: JSONP Daten auslesen

    Ok cool danke. Über die Console bekomme ich schon mal die Daten angezeigt. Aber wie kann ich nun die Daten für einen ganz bestimmten Wert ausgeben (regionName).
    Ich hab das ganze mal so probiert aber das funktioniert leider nicht:
    HTML-Code:
    <script>
    					var warnWetter = {
    						loadWarnings: function(obj){
    							var html =
    								'<ul>' +
    								'<li>Name: ' + regionName + '</li>' +
    								'</ul>';
    
    							$('#wetterdaten').html(html);
    						}
    					};
    				</script>

  6. #6
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.695

    AW: JSONP Daten auslesen

    Zitat Zitat von robinb112 Beitrag anzeigen
    Ich hab das ganze mal so probiert aber das funktioniert leider nicht:
    Du greifst ja auch obj auch gar nicht zu und regionName ist nicht definiert...

    Bevor du filterst, solltest du erst einmal einfach alle Daten anzeigen lassen. Also durch das Objekt, das in obj.warnings gespeichert ist, durchiterieren (hab' dir ja schon oben geschrieben, was du dafür verwenden könntest) und z.B. die headline-Eigenschaft der iterierten Objekte ausgeben lassen.

  7. #7
    robinb112 ist offline Grünschnabel
    registriert
    27-10-2016
    Beiträge
    7

    AW: JSONP Daten auslesen

    Ok, bin leider komplett neu auf diesem Gebiet. Also ich kann alle Daten über console.log(obj); anzeigen. Aber dann weiß ich leider nicht wie das mit dem durchiterieren gehen soll.

  8. #8
    Avatar von andreax
    andreax ist offline Tripel-As
    registriert
    09-07-2016
    Beiträge
    211

    AW: JSONP Daten auslesen

    Hier mal ein Beispiel zum Iterieren verwendet man Schleifen wie for, for each , for in, while, do while
    für Objekte eignen sich ( for in ) Schleifen sehr gut;

    HTML-Code:
    <!DOCTYPE html>
    
    <html>
    	<head><title></title>
    		<meta charset="UTF-8" />
    		<meta name="description" content=""/>
    		<meta name="keywords" content=""/>
    		<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <style>
    ul{list-style:none; margin:20px 0 0 0;width:300px;}
    ul li span:first-child{padding:0 12px 0 0;color:orange;font-weight:bold;}
    </style>
       </head>
    	<body>
    
    <h3>Hallo Wetter</h3>
    
    <script type="text/javascript">
    var warnWetter = {
    
    
    	loadWarnings: function(obj){
    
    	for(var oi in obj.warnings){ 
    	var lo = document.createElement('UL');
            var lst = '<li><span>Start:</span>'+ obj.warnings[oi][0].start +'</li>'+
    	'<li><span>Ende:</span>'+ obj.warnings[oi][0].end +'</li>'+
    	'<li><span>Name:</span>'+ obj.warnings[oi][0].regionName +'</li>'+
    	'<li><span>Warn-Level:</span>'+ obj.warnings[oi][0].level +'</li>'+
    	'<li><span>Type:</span>'+ obj.warnings[oi][0].type +'</li>';
    	lo.innerHTML = lst;
    	document.body.appendChild(lo);
    	}
    	}
    };
    </script>
    <script type="text/javascript" src="http://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json"></script>
    	</body>
    </html>
    Geändert von andreax (03-11-2016 um 00:38 Uhr)

  9. #9
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.695

    AW: JSONP Daten auslesen

    ... ich würde for...in nicht verwenden... kann schnell zu seltsamen Verhalten führen. Object.keys() ist meiner Meinung nach zu bevorzugen:
    Code:
    <!DOCTYPE html>
    <html>
    	<head><title>Wetterwarnungen</title>
    		<style>
    		ul{list-style:none; margin:20px 0 0 0;width:300px;}
    		ul li span:first-child{padding:0 12px 0 0;color:orange;font-weight:bold;}
    		</style>
       </head>
    	<body>
    		<h3>Hallo Wetter</h3>
    		<script type="text/javascript">
    		var warnWetter = {
    			loadWarnings: function(obj){
    				Object.keys(obj.warnings).forEach(function(key){
    					var warning = obj.warnings[key][0];
    					var lo = document.createElement('UL');
    					var lst = '<li><span>Start:</span>'+ warning.start +'</li>'+
    					'<li><span>Ende:</span>'+ warning.end +'</li>'+
    					'<li><span>Name:</span>'+ warning.regionName +'</li>'+
    					'<li><span>Warn-Level:</span>'+ warning.level +'</li>'+
    					'<li><span>Type:</span>'+ warning.type +'</li>';
    					lo.innerHTML = lst;
    					document.body.appendChild(lo);
    				});
    			}
    		};
    		</script>
    		<script type="text/javascript" src="http://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json"></script>
    	</body>
    </html>

  10. #10
    robinb112 ist offline Grünschnabel
    registriert
    27-10-2016
    Beiträge
    7

    AW: JSONP Daten auslesen

    Hey super, danke für eure Antworten.
    Also die Liste mit allen Daten wird nun perfekt ausgegeben.
    Wie schaffe ich es denn nun nur eine ganz bestimmte Region (regionName) abzurufen?
    Habe es mit einem if (warning.regionName == name) { $("#wetter").html("Test"); } versucht aber das funktioniert leider nicht.

  11. #11
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.695

    AW: JSONP Daten auslesen

    Hast du denn jQuery am Start? Was heißt denn genau "funktioniert nicht"? Steht etwas in der Fehlerkonsole (Wo finde ich die Fehlerkonsole?)?

  12. #12
    robinb112 ist offline Grünschnabel
    registriert
    27-10-2016
    Beiträge
    7

    AW: JSONP Daten auslesen

    Ja ich habe jQuery auf der Seite laufen. Ich bekomme den Fehler "Uncaught TypeError: $ is not a function".
    So habe ich es versucht:

    Code:
    <script>
    					var warnWetter = {
    						loadWarnings: function(obj){
    							Object.keys(obj.warnings).forEach(function(key){
    								var warning = obj.warnings[key][0];
    								       if (warning.regionName == 'Kreis Bergstraße') {
                                                                                  $("#wetter").html("Test");
                                                                           }
    								document.body.appendChild(lo);
    							});
    						}
    					};
    				</script>

  13. #13
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.695

    AW: JSONP Daten auslesen

    Zitat Zitat von robinb112 Beitrag anzeigen
    $ is not a function
    Das klingt danach, dass jQuery nicht geladen wurde. Stimmt da die URL? Wie hast du denn jQuery eingebunden?

  14. #14
    robinb112 ist offline Grünschnabel
    registriert
    27-10-2016
    Beiträge
    7

    AW: JSONP Daten auslesen

    Ok, es funktioniert. Habe es nun mit jQuery(function ($) gelöst.
    Danke für eure Hilfe.

  15. #15
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.695

    AW: JSONP Daten auslesen

    Zitat Zitat von robinb112 Beitrag anzeigen
    Danke für eure Hilfe
    BItte - gern geschehen.

Ähnliche Themen

  1. Daten in JS auslesen
    Von flashmike im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 29-03-2009, 12:53
  2. Mit PHP Daten aus MS Access DB auslesen...
    Von dr_muerte im Forum Serverseitige Programmierung
    Antworten: 6
    Letzter Beitrag: 26-03-2008, 17:12
  3. Daten aus Datei auslesen???
    Von Luki im Forum JavaScript
    Antworten: 5
    Letzter Beitrag: 13-08-2006, 20:16
  4. Kann PHP Daten aus *.dat auslesen
    Von HILFE!!!! im Forum Serverseitige Programmierung
    Antworten: 6
    Letzter Beitrag: 17-09-2003, 22:26
  5. Daten aus .txt Datei auslesen?
    Von quaky im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 03-03-2003, 23:13

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •