如何在javascript中将对象转换为二维数组

时间:2016-02-09 21:24:41

标签: javascript arrays asp.net-mvc

我知道这个问题可能已被问过数百次,并且有大量的例子,可能我可能会被投票,但我不得不问它,因为我不知道在哪一方面(控制器,脚本)或两者)我的代码是不正确的还有b / c我找不到关于如何将对象转换为二维数组的例子(我相信结果是这样的):我需要传递一个List>从MVC控制器回到ajax脚本,然后操纵数组结果,但我不知道如何转换数组来读取它的元素。

[HttpGet]
public ActionResult ListBoxCustomize(string listName)
   {
      var result = new List<KeyValuePair<string, string>>();  // Key , Value

      // Code to add items to the list 
      .........

      return Json(new { items = result }, JsonRequestBehavior.AllowGet);
}

JScript

$.ajax(
{
    success: function (data) // THIS IS WHAT IS RETURNED -> data = Object {items: Array[5]}
    {
    alert( items[0][0] ) // Reference Error: items is not defined 
    OR
    alert( data[0][0] ) // Uncaught TypeError: Cannot read property "0" of undefined         

    .... and so it goes with all other cast and combinations that I've tried.          

    }   

1 个答案:

答案 0 :(得分:1)

在您的javascript中,您的参数名为data,但您的提醒已通过items。如果你alert(items[0][0])会怎么样?或者在浏览器的开发工具中闯入调试器并查看对象结构?另一种选择是使用Fiddler之类的工具来查看返回的实际响应;一旦你看到电线上的数据,通常很容易在客户端上处理它。