将对象转换为字符串

Convert an object to a string

我正在尝试将一个对象转换为普通 JavaScript 中的字符串,用于库 toString() 函数。
所需的输出如下所示。

var obj = {a: 1, b:2, c:"string"}
function toString(ins) {
    if(typeof ins === "object" && ins.length === undefined) {
        var str = "";
        //convert to string
        return str;
    }
}
toString(obj)
//should return "a:1, b:2, c:string"

我尝试寻找 here,但找不到合适的答案。

正如我在评论中所说,您最好考虑使用 JSON.stringify(obj) 并调整您的代码以使用该行业标准函数,即使它不会生成您要求的确切输出。

如果您真的想要您所要求的并且想要自己做,那么您可以这样做:

var obj = {a: 1, b:2, c:"string"}
function toString(ins) {
    if(typeof ins === "object" && ins.length === undefined) {
        var pieces = [];
        for (var prop in ins) {
            if (ins.hasOwnProperty(prop)) {
                pieces.push(prop + ":" + ins[prop]);
            }
        }
        return pieces.join(", ");
    }
}
toString(obj);

工作演示:http://jsfiddle.net/jfriend00/L70doyu5/

警告:这不处理嵌套对象。您想使用递归算法来处理嵌套对象。