我正在尝试返回一个像这样的数组数组的 json 对象:
{
'data': [[45,43,103],[34,43,230]]
}
在 .NET 4.0 中使用 asmx,如下所示:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetData() {
StringBuilder sb = new StringBuilder();
sb.Append("'Data':[");
sb.Append("[45,43,103],");
sb.Append("[34,43,230]");
sb.Append("]");
return sb.ToString();
使用 jQuery ajax 调用:
$.ajax({
type: "POST",
url: url, //defined elsewhere
data: "{}",
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: update,
});
和
function update(data)
{
console.log (data.d[1][1]); //looking at second array second element
}
问题是 asmx 调用的响应看起来像这样,我的更新功能不起作用
{"d":"\u0027Data\u0027:[[45,43,50],[34,43,50]]"}
事情看起来不像它们被正确转义或格式化。看来我错过了什么。为什么'数据'仍然有'的unicode字符?我认为 ResponseFormat.Json 会处理一切以将其转换为 json 格式。