Javascript 如何将这个多维关联数组转换为json?
我有一个在js中创建关联数组的循环,我需要将其转换为json Javascript:Javascript 如何将这个多维关联数组转换为json?,javascript,jquery,json,asp.net-mvc-3,Javascript,Jquery,Json,Asp.net Mvc 3,我有一个在js中创建关联数组的循环,我需要将其转换为json Javascript: var guest = {}; var guests = {}; for(var i=0;i<2;i++){ var name = GetName(); var email = GetEmail(); guest = { 'Email': email, 'Name': name }; guests.push(guest); } 如何将其转换为JSON?(使用小型jquery插件可以)
var guest = {};
var guests = {};
for(var i=0;i<2;i++){
var name = GetName();
var email = GetEmail();
guest = { 'Email': email, 'Name': name };
guests.push(guest);
}
如何将其转换为JSON?(使用小型jquery插件可以)
我需要将此json数组传递给我的MVC 3控制器:
[HttpPost]
public ActionResult AddGuests(List<SelectedGuest> guests){
}
public class SelectedGuest
{
public string Email { get; set; }
public string Name { get; set; }
}
[HttpPost]
公共行动结果添加来宾(列出来宾){
}
公共类SelectedGuest
{
公共字符串电子邮件{get;set;}
公共字符串名称{get;set;}
}
感谢阅读。在您的for循环调用
JSON.stringify()之后代码>
如果要处理数组,则需要方括号。在javascript中实际上有两个构件:对象({}
)和对象数组([]
),两者之间的区别非常重要:
var guest = { };
var guests = [ ];
for(var i = 0; i < 2; i++) {
var name = GetName();
var email = GetEmail();
guest = { 'Email': email, 'Name': name };
guests.push(guest);
}
这里显示的JSON.stringify
方法在大多数现代浏览器中都是实现的,但对于较旧的浏览器,您可能希望包括
最后一句话:
不要像这样在javascript中硬编码URL:
url: '/SomeController/AddGuests'
url: '@Url.Action("AddGuests", "SomeController")'
处理Url时,请始终在ASP.NET MVC中使用Url帮助程序,如下所示:
url: '/SomeController/AddGuests'
url: '@Url.Action("AddGuests", "SomeController")'
JavaScript中没有关联数组这样的东西。有对象,JSON是JavaScript对象表示法。@Projapati,不,与jquery无关。正如我在回答中所说的,它是现代浏览器中内置的javascript函数,最好将我链接到的脚本包含进来,以便旧浏览器也能工作。对于较旧的浏览器来说,所有不是当前最新版本的东西都是旧的。例如:IE8,Firefox3.0。。。因此,请确保只需在页面中包含脚本:它是智能的,并执行浏览器功能检测,如果浏览器支持该功能,则只需使用本机方法。url:“@url.Action”(“AddGuests”,“SomeController”)”更安全或更好吗?@Projapati,例如,假设您已对url进行了硬编码,如图所示。现在,您的应用程序将在卡西尼号的开发中运行良好。然后,您将在IIS中部署应用程序。但是在IIS中可能有一个虚拟目录,因此正确的url将是/NameOfVirtualDirectory/SomeController/AddGuests
。因为您已经硬编码了url,所以您的应用程序根本无法工作,并在生产中返回404错误。因此:绝对不要在ASP.NET MVC应用程序中硬编码Url,始终使用Url帮助程序,因为它们会考虑到这些场景。脚本的简化版本在哪里?我在@Projapati这里看到了多个js文件,我不认为有缩小版可用。你可以使用许多工具中的一个来缩小它。例如,在本文末尾有一个这样的工具:
url: '@Url.Action("AddGuests", "SomeController")'