将JSON对象转换为URL Params / MVC3 / JQuery

时间:2012-04-24 19:53:51

标签: jquery json asp.net-mvc-3

如果我有这样的对象数组......

var p = [{ 'first': 'John', 'last': 'Doe' }, { 'first': 'Sue', 'last': 'Smith' }];

我需要将它附加到这样的URL ......

/myapp/myaction?p[0].first=John&p[0].last=Doe&p[1].first=Sue&p[1].last=Smith

JQuery中是否有某些内容可以帮助我完成此操作而无需手动处理它?<​​/ p>

基本上,我有一个像people数组这样的对象,我需要以一种可以理解并绑定到列表的格式将它发送到ASP MVC3。 MVC3理解以“点”格式编码的嵌套项(例如p [0] .first)。

1 个答案:

答案 0 :(得分:2)

可能有更好的方法,但这样的事情应该有效:

var params = $.map(p, function(n, i){
    return "p[" + i + "].first=" + n.first + "&p[" + i + "].last=" + n.last;
}).join("&");

如果对象的属性是动态的,您可以使用for...in循环它们。