JSON.stringify:JSON字符串将为空

时间:2017-01-21 18:28:16

标签: javascript json node.js

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)推送到了clients数组。 但如果我" stringify"客户,它将返回" [[]]"。

我错了什么?

提前谢谢。

3 个答案:

答案 0 :(得分:3)

像这样更新您的代码


    container = container.WithWeApi(config, assemblies, 
        throwIfUnresolved: type => type.Name.EndsWith("Controller"));

Asssociative数组不能直接支持你可以作为对象的javascript

答案 1 :(得分:2)

您应该将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))




答案 2 :(得分:1)

您需要将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));