Hola a todos.
Aqui os traigo una funcion muy util para convertir los datos de un datatable a un objeto JSON de JavaScript.
Este ejemplo lo he reailzado en un WebService
Pare ello sigue los siguientes pasos.
1 crea un proyecto de servicio web.
2 Elimina el metodo HelloWorld.
3 Crea un nuevo metodo CovertirDT_a_JSON de tal manera que quede algo similar a esto:
1 2 3 |
<WebMethod()> _ Public Function ConvertirDt_a_JSON() As Object End Function |
Bien, esta funcion la he creado asi para realizar el ejemplo.
En este mismo metodo he creado el DataTable con los datos y el convertidor.
4 Aqui los datos.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Dim dt As New DataTable With dt.Columns .Add("ID") .Add("Nombre") .Add("Pais") End With Dim dr As DataRow dr = dt.NewRow dr("ID") = 1 dr("Nombre") = "Juan" dr("pais") = "Ecuador" dt.Rows.Add(dr) dr = dt.NewRow dr("ID") = 2 dr("Nombre") = "Pedro" dr("pais") = "Alemania" dt.Rows.Add(dr) dr = dt.NewRow dr("ID") = 3 dr("Nombre") = "Alex" dr("pais") = "Honduras" dt.Rows.Add(dr) |
5 ahora el convertidor:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Dim JS As New System.Web.Script.Serialization.JavaScriptSerializer Dim RowList As New List(Of Dictionary(Of String, Object)) Dim Row As Dictionary(Of String, Object) For Each drc As DataRow In dt.Rows Row = New Dictionary(Of String, Object) For Each dc As DataColumn In dt.Columns Row.Add(dc.ColumnName, dr(dc.ColumnName)) Next RowList.Add(Row) Next Return JS.Serialize(RowList).ToString |
Como veis cada row es un elemento del row list.
y por ultimo devolvemos la serializacion a JSON.
Si todo esta OK, el resultado debe ser igual o similar a este depediendo de si habeis usado estos datos.
Un Saludo a Todos. Comentar, siguenos en twitter Facebook y Google+
no me sirvio
COOL!