我使用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
我没有得到正在发生的事情。 请告诉我任何解决方案。
提前致谢。
答案 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]);
它正在运作。
享受编码。
感谢。