使用JSON将方括号表示数组从javascript转换为C#

本文关键字:javascript 转换 数组 JSON 方括号 表示 使用 | 更新日期: 2023-09-27 17:58:16

我有这个:

var testArray = [];
testArray["First"] = "First Test Data";
testArray["Second"] = "Second Test Data";
$.toJSON(testArray);

然后我将其传递回服务器端。当我看到处理AJAX请求的对象服务器端时,我只有"[]"。

有没有一种方法可以做到这一点或类似的事情来实现查找从客户端返回的数据的能力?

使用JSON将方括号表示数组从javascript转换为C#

您必须使testArray成为对象

var testArray = {};

使用数组的方式不正确。数组只能具有带数字索引的值。否则,您只需向数组对象添加一个属性,在转换为JSON时就会忽略这些属性。

DEMO

您正在创建一个数组,但随后将其用作对象。相反,创建一个对象,它将被正确处理:

var testObject = {};
testObject["First"] = "First Test Data";
testObject["Second"] = "Second Test Data";
$.toJSON(testObject);

或者简单地说:

var testObject = {
  First: "First Test Data",
  Second: "Second Test Data"
};
$.toJSON(testObject);

如果你真的想要一个数组,那么你可以使用数字而不是字符串来访问项目:

var testArray = [];
testArray[0] = "First Test Data";
testArray[1] = "Second Test Data";
$.toJSON(testArray);

或者简单地说:

var testArray = ["First Test Data", "Second Test Data"];
$.toJSON(testArray);