使用jQuery AJAX post将JS数组传递给VB.Net

使用jQuery AJAX post将JS数组传递给VB.Net,ajax,vb.net,jquery,post,Ajax,Vb.net,Jquery,Post,我使用jQuery AJAX post请求将客户端JS数组传递给服务器端VB.NET代码。我有一个可行的方法,但我想知道最佳实践。我是这样开始的: JS: VB: 在JS中,myArray.toString将我的数组转换为逗号分隔的字符串Apple、Banana,然后在VB中,Split将其转换回字符串数组 然后我发现ajax会自动为您序列化数组。这样我就可以不使用.toString了: $.ajax({url:"myhandler.ashx", data:{"myArray":myArray}

我使用jQuery AJAX post请求将客户端JS数组传递给服务器端VB.NET代码。我有一个可行的方法,但我想知道最佳实践。我是这样开始的:

JS:

VB:

在JS中,myArray.toString将我的数组转换为逗号分隔的字符串Apple、Banana,然后在VB中,Split将其转换回字符串数组

然后我发现ajax会自动为您序列化数组。这样我就可以不使用.toString了:

$.ajax({url:"myhandler.ashx", data:{"myArray":myArray}, type: "POST"});
当我这样做的时候,在VB端我发现HttpContext.Request.Form不再有一个键myArray,它现在被称为myArray[],瞧,它是一个逗号分隔的字符串:Apple,Banana

以下是我的问题:

1在VB.NET中是否有一种内置的反序列化方法,可以将逗号分隔的字符串转换回字符串数组

2.数组的Ajax序列化是否只是调用toString,如果存在反序列化函数,它是否只是像我一样调用Split


3使用内置序列化/反序列化除了作为标准之外还有什么好处吗?我能想到一个缺点。我不喜欢它通过添加方括号来重命名我的密钥。

将数组转换为JSON:

$.ajax({url:"myhandler.ashx", data:{"myArray":JSON.stringify(myArray)}, type: "POST"});
使用反序列化.NET中的JSON数组

$.ajax({url:"myhandler.ashx", data:{"myArray":myArray}, type: "POST"});
$.ajax({url:"myhandler.ashx", data:{"myArray":JSON.stringify(myArray)}, type: "POST"});