以下に示すように、JSONを形成するために、私のjavascriptクラスのプロパティを通して 'マニュアル'を実行しています。それは不器用な感じで、私はこれを自動的に行う方法を学びたいので、たとえば、プロパティを追加または削除すると、 'toJson'関数を使いこなす必要はありません。JavaScriptオブジェクトのプロパティをJSON化する方法
この目的に向けて、以下の「toJson」機能をどのように適応させるかについて、参考にしてください。
事前に感謝します。
/* 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;
}
});
中のparamsの長い文字列を見て嫌い:機能(){ リターンJSON.stringify(この); } はnullを返します。 –
あなたは 'toJSON'を誤解します。存在する場合、 'JSON.stringify' *はオブジェクトの' toJSON'メソッドを呼び出して、*関数が返す*オブジェクトを直列化します。 'toJSON'が存在しない場合、' stringify'は単にオブジェクトを直列化します。 – josh3736
私はあなたの恩赦を請う。 'toJson'は関数の名前の自分の選択でした。私は貧しい人々の選択肢を集めています... –