javascript - 在 Javascript 中发布数组

标签 javascript c# razor

首先,在发布此内容之前我要感谢堆栈溢出。这是场景。我想在 javascript 中发布数组 [["a","b"],["c","d"]] 。并返回数据相同的 [["a","b"],["c","d"]]。但我得到了这些值 - "[[\"a\",\"b\"],[\"c\",\"d\"]]"

提前致谢。

var arraylist = [["a","b"],["c","d"]];

$.ajax({
async: true,
type: "POST",
url: "/TestReciever.cshtml",
data: JSON.stringify(arraylist),
success: function (data) {
    alert(data);
    }            
});

我的 TestReciever.cshtml 代码是:

string input;
using (var reader = new StreamReader(Request.InputStream)){
input = reader.ReadToEnd();
}
var j = Json.Encode(input);
Response.Write(j);

最佳答案

在你的代码中

string input;
using (var reader = new StreamReader(Request.InputStream)){
input = reader.ReadToEnd();
}
// Your are encoding the JSON data to STRING 
   var j = Json.Encode(input);  // Its like doing JSON.stringify in JS
   Response.Write(j);

这行 var j = Json.Encode(input); 正在将 JSON 转换为字符串。它在代码中的作用是,因为 JSON 的结构由双引号组成。所以,它基本上逃脱了他们。就像从 [["a","b"],["c","d"]]"[[\"a\",\"b\"], [\"c\",\"d\"]]";

在 JavaScript 中,您需要执行 JSON.parse(YOUR_RESPONSE) 将数据作为数组读取。

$.ajax({
async: true,
type: "POST",
url: "/TestReciever.cshtml",
data: JSON.stringify(arraylist),
success: function (data) {
       var your_array = JSON.parse(data); //This will parse your string to ARRAY
       /* NOW USE YOUR ARRAY HERE AS A NORMAL ARRAY*/
    }            
});

有关JSON.parse的更多信息

The JSON.parse() method parses a JSON string, constructing the JavaScript value or object described by the string. An optional reviver function can be provided to perform a transformation on the resulting object before it is returned.

如果您对数组是否可以是 JSON 感到困惑,这里有一个很棒的 answer.

关于javascript - 在 Javascript 中发布数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44362827/

相关文章:

asp.net-mvc - Razor 语法 - 在 Url.Content 中使用模型属性

javascript - 如何将数组的数组合并到一个数组中(在 JavaScript 中)?

c# - lambda 表达式中的枚举的编译方式不同;重载分辨率改进的结果?

javascript - JQuery:如何在不同的元素和不同的 Action 上同时附加相同的委托(delegate)事件

c# - 检查扩展对象是否在 xslt 模板中定义

c# - 禁用依赖于构建类型的 resharper 警告

asp.net-mvc - CheckBoxFor 生成的奇怪输入名称

c# - _Layout.cshtml 的本地化

javascript - jQuery 多个事件同时发生

javascript - 如何从数组中提取数字序列?