2012-12-14 111 views
2

這是我的web服務通行證詞典<字符串,列表<String>>到Javascript數組

[WebMethod] 
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
public Dictionary<string,List<string>> GetCategorias() 
{ 
    var diccionario = new Dictionary<string, List<string>>(); 
    var categoria = "Recursos Humanos"; 
    diccionario.Add(categoria,new List<string>()); 
    diccionario[categoria].Add("Busqueda de recursos"); 
    diccionario[categoria].Add("Busqueda de recursos humanos"); 

    var categoria1 = "Informatica"; 
    diccionario.Add(categoria1, new List<string>()); 
    diccionario[categoria1].Add("IT"); 
    diccionario[categoria1].Add("Departamento de Insfractructura"); 

    //var serializer = new JavaScriptSerializer(); 
    //string json = serializer.Serialize((object)diccionario); 

    return diccionario; 
} 

我收到的字典在Javascript爲:

function get_Categorias_Comunidades() { 
     $.ajax({ 
      type: "POST", 
      url: "Lista_Categoria_comunidad.asmx/GetCategorias", 
      data: "{}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: llamada_Webservice, 
      error: llamada_Error 
     }); 
    } 
    function llamada_Webservice(peticion) { 
     debugger; 

    } 

如何解析鍵值,以數組?

+0

使用parseJSON()。它已經是jQuery的一部分。 –

回答

0

像這樣的事情

function llamada_Webservice(peticion) { 
var categories = peticion; 
    for(item in categories{ // Data is saved in the variable named d if it's ASP.NET WebService 
     var categoria = item; // The name 
     var list = categories[item]; // The array that you could loop thru 

    } 

} 
+0

我在第二行發錯了 var categories = peticion.d; Microsoft JScript運行時錯誤:'d [...] .key'爲空或不是對象 –

+0

嘗試刪除.d 如果您在Chrome中選擇網絡選項卡並檢查響應,您可以選擇JSON結構。將其粘貼到您的問題 –

+0

圖像是http://imageshack.us/photo/my-images/32/imagensl.jpg/ –

相關問題