【发布时间】:2011-06-04 19:06:09
【问题描述】:
我正在尝试使用以下函数通过对象的 jQuery 返回一个 json 字符串。我似乎无法克服的问题是我的 json 结果在另一端用双引号括起来。
我在this 的帖子中看到了我应该这样做的;
让您的方法返回一个实际对象,并让框架的 JSON 序列化为您完成繁重的工作
但我不完全明白这是什么意思。
这是我正在使用的功能。
Public Function getLine() As String
Dim data As List(Of ArrayList) = New List(Of ArrayList)
For Each q In getAllData()
Dim a As New ArrayList
Dim d As Date = q.DateTime
a.Add(d.Ticks)
a.Add(q.TotalRevenue)
data.Add(a)
Next
Dim s As New Serie
s.data = data
Dim str As String = JsonConvert.SerializeObject(s)
Return str
End Function
非常感谢任何想法。
$.ajax({
type: "POST",
dataType: "json",
data: "{}",
contentType: "application/json; charset=utf-8",
url: "_services/ScriptService.asmx/getData",
success: function (items) {
var data = eval("(" + items.d + ")");
},
cache: false,
error: function (XMLHttpRequest, textStatus, errorThrown) { alert(errorThrown); }
});
'items.d' 包含...
"{"data":[[634420512000000000,100000.0000] ... [634421376000000000,100086.0000]]}"
如果我 eval 'items.d' 我得到...
[[634420512000000000, 100000] ... [634421376000000000, 100086]
我在某处读到 eval 是邪恶的,这是真的吗?
【问题讨论】:
-
这是 WebForms 还是 MVC?您如何将字符串返回浏览器,
Response.Write或其他方法 (JsonResult)? -
它的 Web 表单,我希望 MVC,我也希望 C#...lol