jsObject2String方便查看js对象内容

    /**
     * 将JS的任意对象输出为json格式字符串
     * @param {Object} _obj: 需要输出为string的对象
     */
    var obj2String = function(_obj) {
        var t = typeof (_obj);
        if (t != 'object' || _obj === null) {
            // simple data type
            if (t == 'string') {
                _obj = '"' + _obj + '"';
            }
            return String(_obj);
        } else {
            if ( _obj instanceof Date) {
                return _obj.toLocaleString();
            }
            // recurse array or object
            var n, v, json = [], arr = (_obj && _obj.constructor == Array);
            for (n in _obj) {
                v = _obj[n];
                t = typeof (v);
                if (t == 'string') {
                    v = '"' + v + '"';
                } else if (t == "object" && v !== null) {
                    v = this.obj2String(v);
                }
                json.push(( arr ? '' : '"' + n + '":') + String(v));
            }
            return ( arr ? '[' : '{') + String(json) + ( arr ? ']' : '}');
        }
    };
    var obj = {
        "result" : {
            "fs" : {
                "TSP.IBR.MIRROR" : [{
                    "_value" : "1.0",
                    "_class" : 4
                }],
                "TSP.IBR.GET_FNAMES" : [{
                    "_value" : "0.0",
                    "_class" : 4
                }],
                "TSP.IBR.GET_TOKEN_ID" : [{
                    "_value" : "0.0",
                    "_class" : 4
                }],
                "TSP.IBR.INFO" : [{
                    "_value" : "0.0",
                    "_class" : 4
                }]
            }
        },
        "isCanceled" : false,
        "e" : "",
        "isResponsed" : true,
        "aoqSize" : 0,
        "isAsyncPost" : false,
        "code" : 0,
        "reqUID" : "xxxx-xxxxxx-xxxxx-6c2f17bb-ea18-42ec-98fa-3f63b8d26aba-nd-rq",
        "version" : "1.0",
        "fName" : "TSP.IBR.GET_FNAMES",
        "message" : "成功获取 4 个功能",
        "dir" : "DOWN",
        "nodeTime" : 1362462128706,
        "isKeyCompressed" : false,
        "seq" : 2
    }
    alert(obj2String(obj));

 

posted @ 2013-03-06 10:47  Constantin  阅读(1215)  评论(2编辑  收藏  举报