Ich mache ein "Handbuch" durch meine JavaScript-Klasse Eigenschaften durchlaufen, um JSON zu bilden, wie unten zu sehen. Es fühlt sich ungeschickt an und ich würde lernen, das automatisch zu tun, also würde ich mich nicht mit der "toJson" -Funktion herumärgern müssen, wenn ich zum Beispiel irgendwelche Eigenschaften hinzufüge oder entferne.Wie JSonify die Eigenschaften eines Javascript-Objekts
Kann mir ein hilfreicher Kopf in die richtige Richtung zeigen, wie man die untere "toJson" -Funktion für diesen Zweck anpasst?
Vielen Dank im Voraus.
/* Using Simple JavaScript Inheritance
* By John Resig http://ejohn.org/
* MIT Licensed.*/
var LogEntry = Class.extend({
init: function (_conferenceId, _tokenId, _logType, _logValue) {
this.dato = new Date();
this.logValue = _logValue;
this.logType = _logType;
this.conferenceId = _conferenceId;
this.tokenId = _tokenId;
},
toJson: function() {
// ?
var jsonStringBuilder = '{ ';
jsonStringBuilder += '"dato": ' + this.dato.toString() + ',';
jsonStringBuilder += '"conferenceId": ' + this.conferenceId + ',';
if (this.tokenId== null) {
jsonStringBuilder += '"tokenId":null,';
}
else {
jsonStringBuilder += '"tokenId": ' + _tokenId + ',';
}
jsonStringBuilder += '"logValue": ' + this.logValue + ',';
jsonStringBuilder += '"logType": ' + this.logType;
jsonStringBuilder += '}';
return jsonStringBuilder;
}
});
ich in der Tat, dass versucht haben, aber toJson: function() { return JSON.stringify (this); } gibt null zurück. –
Sie missverstehen 'TOJSON'. Wenn es existiert, ruft 'JSON.stringify' * * die' toJSON'-Methode des Objekts auf und serialisiert dann das Objekt, das die Funktion * zurückgibt. Wenn 'toJSON' nicht existiert,' stringify' einfach serialisiert das Objekt. – josh3736
Ich bitte um Verzeihung. 'toJson' war meine eigene Wahl des Namens für die Funktion. Ich nehme 'twas eine schlechte Wahl ... –