javascript 將對象轉換成json

<SPAN style="FONT-SIZE: small">var userName;   
var age;   
// Person對象   
var Person = function(userName, age) {   
    this.userName = userName;   
    this.age = age;   
}   
// 數組   
var personArrays = new Array();   
var p1 = new Person("DT", 22);   
var p2 = new Person("Jacky", 26);   
var p3 = new Person("Lily", 21);   
personArrays.push(p1);   
personArrays.push(p2);   
personArrays.push(p3);   
// 將array裏面全部的Json對象轉成字符串   
function f_evalArray(obj) {   
    var arrays = obj;   
    for (var i = 0;i < arrays.length; i++) {   
        if (typeof arrays[i] == "object") {   
            arrays[i] = obj2str(arrays[i]);   
        }   
    }   
    return "[" + arrays + "]";   
}   
  
// json對象轉字符串   
function obj2str(o) {   
    var r = [];   
    if (typeof o == "string")   
        return "\""  
                + o.replace(/([\'\"\\])/g, "\\$1").replace(/(\n)/g, "\\n")   
                        .replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + "\"";   
    if (typeof o == "object") {   
        if (!o.sort) {   
            for (var i in o)   
                r.push(i + ":" + obj2str(o[i]));   
            if (!!document.all   
                    && !/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/   
                            .test(o.toString)) {   
                r.push("toString:" + o.toString.toString());   
            }   
            r = "{" + r.join() + "}"  
        } else {   
            for (var i = 0;i < o.length; i++)   
                r.push(obj2str(o[i]))   
            r = "[" + r.join() + "]"  
        }   
        return r;   
    }   
    return o.toString();   
}   
// 將對象轉換爲爲JSON對象   
var OString = function(O) {   
    var S = [];   
    for (var i in O) {   
        O[i] = typeof O[i] == "string" ? O[i] : (typeof O[i] == "object"  
                ? OString(O[i])   
                : O[i]);   
        S.push("'" + i + "':'" + O[i] + "'");   
    }   
    return '{' + S.join(',') + '}';   
}   
console.info(f_evalArray(personArrays));
相關文章
相關標籤/搜索