在javascript数组中存储JSON值

时间:2012-07-11 07:14:43

标签: javascript json

我使用JSON值存储在javascript数组中。

我的JSON值:

"Users":[{"user_name":"User 1","id":1,"image_url":"/photos/list/missing.png","level":1,"position":{"name":"User ABC","description":"desc"}}]

我的响应与上述相同。 代码:

alert("Response : " + $.toJSON(res["Users"]));

O / P:回复:[{“user_name”:“用户1”,“id”:1,“image_url”:“/ photos / list / missing.png”,“等级”:1,“位置” :{“name”:“用户ABC”,“说明”:“desc”}}]

将此值存储为 代码:

tempJSON = $.toJSON(res["Users"]);

alert("JSON Array : " + tempJSON.length); alert("Name : " + tempJSON[0]. user_name);

O / P:JSON数组:132 - >字符数。 名称:未定义。 - >因为它找不到“user_name”的值

如果我将此值存储为简单字符串。 代码:

tempJSON = [{"user_name":"User 1","id":1,"image_url":"/photos/list/missing.png","level":1,"position":{"name":"User ABC","description":"desc"}}];

alert("JSON Array : " + tempJSON.length); alert("Name : " + tempJSON[0]. user_name);

然后完全正确,

O / P:

JSON数组:1 - >阵列号。

名称:用户1

我没有得到正在发生的事情。 请告诉我任何解决方案。

提前致谢。

3 个答案:

答案 0 :(得分:0)

我认为问题是

tempJSON = $.toJSON(res["Users"]);

=>你在tempJSON变量中得到一个字符串,而不是对象!

也许使用firebug或任何其他开发人员工具来调试你的JS。

答案 1 :(得分:0)

在tempJSON中获取值时,您没有将对象转换为JSON(String)。 相反,你尝试下面的代码: -

var tempJSON = res["Users"];

供参考: - try it out here

答案 2 :(得分:0)

将整个值视为字符串

代码::

var tempJSON = $.toJSON(res.Users[0]);

它正在运作。

享受编码。
感谢。