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

时间:2011-06-01 19:04:17

标签: c# javascript json

我有这个:

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

然后我将它传回服务器端。当我在处理AJAX请求时查看对象服务器端时,我所拥有的只是“[]”。

有没有办法做到这一点或类似的东西,以实现查找从客户端传回的数据的能力?

2 个答案:

答案 0 :(得分:5)

您必须testArray object

var testArray = {};

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

DEMO

答案 1 :(得分:4)

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

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);