【发布时间】:2012-03-20 23:13:49
【问题描述】:
我有这个 json 对象:
{
"msg_id":"134",
"message":"Dick",
"comment":[
{
"com_id":"9",
"comment":"test",
"msg_id":"134",
},
{
"com_id":"10",
"comment":"testtt",
"msg_id":"134",
},
{
"com_id":"11",
"comment":"testtttt",
"msg_id":"134",
}]
},
{
"msg_id":"134",
"message":"Dick",
},
{
"msg_id":"134",
"message":"Dick",
}
我正在尝试对其进行两次迭代。一次用于主 json 对象,然后用于 comment 一个。
我试过了:
$.each(data, function(index, obj){
msg += template.replace( /{{message}}/ig , obj.message )
.replace( /{{msg_id}}/ig , obj.msg_id );
$.each(obj.comment, function(key, val){
msg += template.replace( /{{comment}}/ig , val.comment )
.replace( /{{com_id}}/ig , val.com_id )
.replace( /{{msg_id}}/ig , val.msg_id );
});
});
如果我这样做,我会得到a is undefined jquery.js line 2。也许我需要为第二个循环创建另一个函数。
【问题讨论】:
-
请发布您的完整 JS 代码,特别是第 2 行 :)
-
我认为有些 json 错误。您可以在 jsonlint.com 上查看错误
-
json 验证正常。我相信我执行每个循环的方式可能不正确。
-
“我发现你没有 Caps 令人不安。” - 达斯维达。
标签: jquery replace iteration each jquery-templates