JSON.stringify:JSONstring将是空的
var clients = []; var tmp = []; tmp["username"] = rows[0].username; tmp["rank"] = rows[0].rank; tmp["lastaction"] = "0"; tmp["connection"] = connection; clients.push(tmp); JSON.stringify(clients)
我初始化一个数组(客户端),并将一个关联数组(tmp)推送到客户端数组。 但是,如果我“串”客户端,它只会返回“[[]]”。
我错了什么?
先谢谢你。
您应该将tmp
转换为对象字面值而不是数组字面值。
var clients = []; var tmp = {}; tmp["username"] = "foo"; tmp["rank"] = 1; tmp["lastaction"] = "0"; tmp["connection"] = "bar"; clients.push(tmp); console.log(JSON.stringify(clients))
像这样更新你的代码
var tmp = {};
在JavaScript中你不能直接支持连接数组作为对象
您需要将tmp
初始化为一个对象:
var clients = []; var tmp = {}; tmp["username"] = 'username'; tmp["rank"] = 1 tmp["lastaction"] = 2 tmp["connection"] = 3 clients.push(tmp); console.log(JSON.stringify(clients));