【发布时间】:2012-05-16 14:51:32
【问题描述】:
我希望有人能指出关于 Json 格式的正确方向。
我以前从未真正使用过 Json 和序列化,所以它有点新。
我需要从 .Net 返回一个 Json,格式如下。
[[Date.UTC(2011,12,14,8), 8], [Date.UTC(2011,12,14,9), 1]]
我快到了,但我正在为我的字符串格式而苦苦挣扎,因为默认情况下该字符串是带引号的。这就是我所拥有的:
Dim oSerializerDt As New JavaScriptSerializer()
Dim dt As New DataTable
dt.Columns.Add("Date", GetType(String))
dt.Columns.Add("Count", GetType(Integer))
objresults.GetResults(id, period)
Dim listResults As New List(Of Object())
Dim newDate As String
For Each result As Application.NewResults In objresults
newDate = "Date.UTC(" + result.EventDate.Year.ToString + "," + result.EventDate.Month.ToString + "," + result.EventDate.Day.ToString + "," + result.EventDate.Hour.ToString + ")"
listResults.Add({newDate, result.Count})
Next
Return oSerializerDt.Serialize(listResults)
这会返回给我如下的 Json,除了时间字符串周围的双引号之外,这是完美的。
[["Date.UTC(2011,12,14,8)",8],["Date.UTC(2011,12,14,9)",11]]
如果有人能指出我如何更改代码以正确格式化字符串的正确方向,我将不胜感激。
谢谢。
【问题讨论】:
-
您检查过 Newtonsoft JSON 序列化程序了吗?这可能会有所帮助。
-
谢谢。我对 Newtonsoft 序列化程序进行了一些尝试,但似乎仍然无法获得所需格式的 JSON。这是你知道可以用它做的事情吗?关于其他可以让我通过 Ajax 以该格式返回的方法的任何想法?
-
抓着稻草...您是否尝试将 List(Of Object) 更改为 List(Of String)?
-
是的尝试过,但正如预期的那样,它也会将整数用引号括起来。
-
是否有过您确实需要字符串中的双引号的情况?如果不是,那么您可以在返回最终字符串之前替换 "
标签: javascript asp.net vb.net json serialization