【发布时间】:2012-09-11 19:59:19
【问题描述】:
我想使用 jquery 以以下格式形成 json,但无法达到预期的格式。我的实际结果是只打印最后一个键值对。
来自 ejs 文件的代码片段
var count=0;
var meta=[];
$.each(this.metadata, function(key, value){
<input type="text" id="keyfun" name='meta[count].key' value='<%=key%>' size="40"/>
<input type="text" id="valfun" name='meta[count].value' value='<%=value%>' size="40"/>
count++;
元数据对象包含键值对。需要以 json 格式打印键和值。请就此提出建议..
Expected Result:
{"meta":
[
{"key":"user ","value":"test1"},
{"key":"test","value":"test2"},
]
}
实际结果
{
"meta": [
{
"key": "test1",
"value": "test"
}
]
}
我已将元数据对象值添加到数组中,然后尝试从对象数组中进行迭代。
1)将元数据值添加到数组中
$.each(this.metadata, function(key, metaValue){arr.push({key1: key, value1: metaValue});
});
2) 迭代数组对象
$.each(arr, function (index, metaValue) {
'/>
' 大小="40"/>
});
输出:{"metaValue": {"key1": "mobile","value1": "wsmuser"}}
我得到了最后一个键和值对,没有得到完整的键和值对...请就此提出建议。 问候,拉吉
【问题讨论】:
-
能否请您从浏览器发布完整呈现的 javascript?那段看起来有点像 javascript 的代码显然是不完整的。
-
我想不出任何理由你为什么想做这样的事情......但我猜 jquery funktion .serializeArray();已经做你想做的了。
标签: java javascript jquery html rest