如何JSONify javascript对象的属性

Mor*_*ard 28 javascript json

我正在通过我的javascript类'属性进行"手动"运行以形成JSON,如下所示.它感觉很笨拙,我会自动学习如何做到这一点,所以如果我添加或删除任何属性,我就不必乱用'toJson'函数.

一个有用的思想可以指出我如何调整以下'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;
        }
});
Run Code Online (Sandbox Code Playgroud)

jos*_*736 49

JSON.stringify 是你正在寻找的功能.

一些非常旧的浏览器本身不提供该JSON对象,但您可以为这些浏览器使用填充程序库.

  • 请再说一遍.'toJson'是我自己选择的函数名称.我认为'这是一个糟糕的选择...... (3认同)

Gol*_*rol 7

我想你在找JSON.stringify().