definiert das Datum in der JSON-Datei

7

Ich wundere mich zu wissen, wie man das heutige Datum in der JSON-Datei einstellt, wie wir es in js verwenden.

Gibt es eine Option, Date.today () in der JSON-Datei anzugeben?

Weil json-Daten ein date-Objekt haben, das das Systemdatum angibt, wann immer wir die json-Datei lesen.

Hoffe, du wirst verstehen, was ich sagen will.

Vielen Dank im Voraus,

-Raja.

    
Rajagopal 웃 25.04.2012, 07:15
quelle

8 Antworten

8

JSON ist ein strukturiertes Transportformat. Es hat keine Logik darin.

Aber hier sind Optionen:

  1. Warum erhalten Sie nicht einfach das Datum, an dem Sie die Datei lesen?

  2. Lassen Sie einen Server JSON generieren, der das Datum enthält, an dem er generiert wurde. Dies ist jedoch nicht ideal, wenn Sie das aktuelle Datum wünschen. Wenn Sie die Datei lesen, ist das vom Server generierte Datum bereits verstrichen.

  3. Erstellen Sie einen Parser, der eine Zeichenfolge analysiert und nach einem benutzerdefinierten Markup sucht.

Zum Beispiel ist ein spezielles Markup in @{} enthalten. Holen Sie den Befehl hinein, bestimmen Sie den Befehl und führen Sie die Ersetzung durch.

%Vor%

In diesem Fall finde ich @{currentdate} . Ich sollte eine Funktion erstellen, die diesem Befehl entspricht, um @{currentdate} beim Lesen in das aktuelle Datum zu ersetzen (im gewünschten Format)

%Vor%

und das Ergebnis ist wie folgt:

%Vor%     
Joseph 25.04.2012, 07:22
quelle
10

Serverseite kann JSON-Daten im ISO-Format generieren, zum Beispiel "2012-04-30T02: 15: 12.356Z" Dann kann die Client-Seite das Datenobjekt parsen und laden

%Vor%     
user1364925 30.04.2012 02:19
quelle
4

Ich schlage vor, dass Sie in Erwägung ziehen, das JSON-js (json2.js ) Parser, weil es alle Standard-JSON analysiert, aber Sie können auch benutzerdefinierte Pars-Handling-Logik, genannt eine reviver -Funktion, hinzufügen , die sehr gut zu Ihrem Szenario passt. Die grundlegende Syntax zum Aufrufen des JSON-Parsers mit einem benutzerdefinierten Handler sieht folgendermaßen aus:

var myObject = JSON.parse(myJSONtext, reviverFunction);

Wenn Sie Ihre Beispieleingabe als Richtlinie verwenden, könnte sie so eingerichtet werden, dass sie so funktioniert:

%Vor%

Eine allgemeine Einführung in JSON-js finden Sie auf der JSON in JavaScript-Seite , zusammen mit einigen kurzen Intro-Informationen zu JSON, und die Seite enthält auch einige Verwendungsszenarien.

    
Sean Mickey 01.05.2012 05:48
quelle
1

Wenn Sie das Datum speichern möchten, würde ich es vorziehen, es als String mit einem Format wie JJJJ / MM / TT hh: mm: ss oder ähnlichem zu speichern und es in einem Date-Objekt zu analysieren, wenn ich es lesen möchte es in der Sprache, die ich brauche.

%Vor%

Ich verstehe nicht genau, was Sie wollen, mit eval-Methoden (es ist eine hässliche Praxis), können Sie eine Methode hinzufügen, um das tatsächliche Datum in Objekt, und fügt sich selbst bei den Kindern und rufen Sie die Methode im hinzugefügt Kinder.

%Vor%

PS Wenn Sie es in einer Datei speichern möchten, müssen Sie die Methode eval (nicht empfohlen) verwenden, die die Methoden als String speichert oder Sie laden die Datei automatisch

%Vor%

Sie können JSON-Objekte nicht mit Funktionen stringieren, deshalb entfernen wir in der zweiten Methode nach dem Hinzufügen der Methode addDate diese aus dem JSON-Objekt (Sie können auch dieses.addDate löschen, aber ich weiß nicht, ob es das tut) funktioniert in IE)

    
xgc1986 29.04.2012 08:07
quelle
1

Wäre es nicht einfacher, nur die aktuellen Systemdaten zu berechnen, wenn Sie die Datei lesen? Ich mag hier den Kontext vermissen, aber ich sehe nicht den Sinn darin, das im Dokument zu speichern.

Wenn Sie das wirklich tun müssen, können Sie Folgendes tun:

%Vor%     
Javi 25.04.2012 07:28
quelle
1

Sie können erwägen, populäre Bibliotheken wie moment.js Ссылка

zu nutzen

Dann können Sie das Datum als JJJJ-MM-TT in JSON speichern und sich mit dem Parsen befassen:

%Vor%     
250R 01.05.2012 04:43
quelle
0

Es wird gut sein, alle Daten zu sammeln, die Sie in ein

übertragen möchten %Vor%

Konvertieren Sie diese Auflistung in ein JSON-Objekt und konvertieren Sie sie dann am Empfangsende in das Datum zurück. Sie können die joda date time API für Conversions verwenden.

    
cherit 02.05.2012 13:50
quelle
0

Ich benutze Gson in Java, um json-Ausgabe zu erstellen, aber Gson erlaubt mir nicht, JavaScript-Funktionen in den json zu legen. Also das ist, was ich tue: Verwenden Sie Ersatz-Tags für die Orte, die Sie Code (wie eine der früheren Antworten) setzen möchten. Dann holen Sie sich den Text des JSON, ersetzen Sie die Tags und speichern Sie den Text in Ihrer JSON-Datei:

%Vor%

Es gibt also nichts mehr zu tun auf der Verbrauchsseite bei der Verwendung dieses json. Und die erste Ausgabe ist:

%Vor%

Meine Verwendung von json speichert es normalerweise als Javascript mit einer Zuweisung, also hat das für mich gearbeitet.

    
Fai Ng 14.08.2015 16:14
quelle

Tags und Links