Senden von JSON-Daten an die Google-Diagramm-API von Perl

8

Ich habe eine kleine Tänzer-Anwendung, die etwas HTML (einschließlich des Javascript zum Aufrufen der Google-Diagramme-API) und für andere URLs eine Datenbank abfragt und die Daten in codiertem JSON in einem Formular zurückgibt, das Sie an google.visualization übergeben können. Datentabelle. Das Javascript fragt die Tänzer-App nach den JSON-Daten ab und übergibt sie dann an die Google-Diagramm-API. Eine vereinfachte Version ist:

%Vor%

Das Problem besteht darin, dass einige der von Perl zurückgegebenen Daten Datumsangaben / Zeitstempel enthalten und der Typ daher auf "datetime" gesetzt sein sollte:

%Vor%

In Javascript können Sie ein Datum erstellen, das Sie an die Google-Diagramm-API übergeben können:

%Vor%

Wie kann ich ein in JSON codiertes Datum von Perl senden, so dass die Google-Diagramm-API es versteht? Wenn Sie nicht können, welche anderen Optionen für mich verfügbar sind?

    
bohica 21.02.2012, 14:19
quelle

3 Antworten

18

JSON unterstützt datetime nicht als Datentypen. Aber laut der Dokumentation von Google können Sie einfach eine Zeichenfolge mit folgendem Format senden:

  

JSON unterstützt keine JavaScript-Datumswerte (z. B. "neues Datum (2008,1,28,0,31,26)"; die API-Implementierung unterstützt jedoch eine benutzerdefinierte gültige JSON-Darstellung von Datumsangaben als Zeichenfolge im folgenden Format: Datum (Jahr, Monat, Tag [, Stunde, Minute, Sekunde [, Millisekunde]]), wobei alles nach dem Tag optional ist und die Monate null sind.

Datenquellenprotokoll von Google Chart Tools

    
benjaoming 16.04.2012, 21:37
quelle
9

nur um zu verdeutlichen: Sie sollten den Zellenwert als eine Zeichenfolge schreiben, die wie folgt aussieht: Datum (Jahr, Monat). für dein Beispiel:

%Vor%

hoffe, dass hilft und korrigiert für Sie, wie ich es in PHP und nicht Perl

verwende     
justaguy 16.10.2012 19:22
quelle
3

Ich hatte das gleiche Problem und die obige Lösung funktionierte nicht. Nach stundenlangem Suchen fand ich folgenden Beitrag und die Lösung darin funktionierte.

Ссылка

Fügen Sie "new" nicht in die JSON-Zeichenfolge ein, damit es nur Folgendes ist: "Datum (2012, 1, 08, 09, 32, 0)"

    
Sohail 01.12.2014 19:29
quelle