将对象转换为字符串

时间:2015-02-15 00:13:31

标签: javascript string object

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

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,但找不到合适的答案。

1 个答案:

答案 0 :(得分:2)

正如我在评论中所说,最好考虑使用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/

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