我正在使用Nicolas的Pivot控件(nicolas.kruchten pivottable),我试图从Web方法绑定json结果。如果我使用预定义的类并将列表作为该类型返回,我可以完成此操作,但是我对数据库的查询并不总是相同,字段将因实例而异。 我使用了多个方法来返回json(序列化程序列表,json序列化字典,数据集AsEnumerable.ToList),所有这些方法都将结果返回给客户端,但格式不正确。
格式应如图1所示,我得到的结果如图2所示。 Figure 1 Figure 2
下面是一个尝试过的方法,如何在没有预定义数组对象类型的情况下将其更改为返回数组结果?
<System.Web.Services.WebMethod()> _
Public Shared Function DataTableToJSON()
Dim strCN As String = "...
...
da.Fill(ds)
cmd = Nothing
cn.Close()
Dim dt As New DataTable()
If ds.Tables(0).Rows.Count > 0 Then
Dim list = New List(Of Dictionary(Of String, Object))()
For Each row As DataRow In ds.Tables(0).Rows
Dim dict = New Dictionary(Of String, Object)()
For Each col As DataColumn In ds.Tables(0).Columns
dict(col.ColumnName) = row(col)
Next
list.Add(dict)
Next
Dim serializer As New JavaScriptSerializer()
Return serializer.Serialize(list)
End If
谢谢
答案 0 :(得分:0)
问题解决了。 我不得不用jQuery.parseJSON
对字符串进行反序列化$("#output").pivotUI(jQuery.parseJSON(mps.d));