Thread Wagenanzeige Raspberry Pi
(73 answers)
Opened by NIwu at 2014-10-25 13:58
Hallo du
ein problem hier muß ich die daten per hand eintrag dann geht es Aber ich bekomme die daten per json so angeboten aus der DB [["S3","Dresden, Plauen","1"],["S1","Dresden, Flughafen","2"],["RE01","Meissen","10"],["ICE","Hamburg, Neugraben","15"]] Hier das Script #!"D:\webserver\xampp\perl\bin\perl.exe" # ###! /usr/bin/perl -w use strict; use warnings; use JSON; # muss evtl. nachinstalliert werden use LWP::Simple; # muss evtl. nachinstalliert werden require LWP::UserAgent; use Data::Dumper; use URI::Escape; use CGI::Carp qw(fatalsToBrowser); # Wo sind die Daten Haltestellen ID zu holen? #my $url = "http://localhost/abfahrten.do?id=01"; # Daten abholen lasssen my $content = get( $url ); #my $content = '[["S3","Dresden, Plauen","1"],["S1","Dresden, Flughafen","2"],["RE01","Meissen","10"],["ICE","Hamburg, Neugraben","15"]]'; # Abbruch, wenn Daten nicht geholt werden konnten die "Could not load data from $url." if not defined $content; # Bereite JSON-Parser vor my $json = JSON->new->allow_nonref; # Dekodiere JSON-Daten und erstelle eine Datenstruktur my $data = $json->decode( $content ); # Kontrollausgabe #print Dumper $data; my $array_from_json = [["ZG NR","Richtung","Rücklaufende Minuten"],["ZG NR","Richtung", "Rücklaufende Minuten"]]; #$array_from_json = [["RE1201","München","120"],["ICE","Dresden","95"]]; $array_from_json = [["$content"]]; my @keys = qw(ZugNr Richtung Minuten); my %Fahrplan = (); foreach my $zug( 1 .. scalar @$array_from_json){ my %hh = (); # Helper Hash @hh{@keys} = @{$array_from_json->[$zug-1]}; $Fahrplan{$zug} = \%hh; } #printf Dumper \%Fahrplan; #print scalar($content); #printf join("\n",$content); chomp( my @daten = $content ); my @sortiert = map { $_->[0]} sort { $b->[1] <=> $a->[1] } map { [ $_, (split/;/)[0,1] ] } @daten; #print dumper \@sortiert; #print "Content-type: text/html\n\n"; #print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n"; #print "<html><head><title>Test-Ausgabe</title></head><body>\n"; #print "\n"; #my $data = scalar($content); #my $Fahrplan = scalar(@keys); #print "@keys<br>\n\n\n"; #print "$content<br>\n"; #print "</body></html>\n"; #my $abfahrenString = '[["S3","Dresden, Plauen","1"],["S1","Dresden, Flughafen","2"],["RE01","Meissen","10"],["ICE","Hamburg, Neugraben","15"]]'; my $abfahrenString = '[["$content?"]]'; my @keys = qw(ZugNr Richtung Minuten); my @abfahrten = sort { $a->[2] <=> $b->[2] } @{decode_json $abfahrenString}; print "Content-type: text/html\n\n"; print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n"; print "<html><head><title>Test-Ausgabe</title></head><body>\n"; print "\n"; print "<table><tr>"; print "<th>$_</th>" for @keys; print "</tr>\n"; for my $zug (@abfahrten) { print "<tr>"; print "<td>$_</td>" for @$zug; print "</tr>\n"; } print "</table></body></html>\n"; |