我使用AJAX.Net来调用ASP.Net PageMethod,它返回JSON序列化的JSON数据
{"d":"[{\"Fromaddress\":\"testfrom1@test.com\",\"Toaddress\":\"testto1@test.com\"},{\"Fromaddress\":\"testfrom2@test.com\",\"Toaddress\":\"testto2@test.com\"}]"}
响应标头将内容类型声明为
"Content-Type application/json; charset=utf-8"
但是,数据仅作为字符串提供,并且似乎不是来自javascript的JSON数据。我需要做什么才能将返回的数据用作javascript的JSON?
答案 0 :(得分:4)
var myData = eval('(' + text + ')');
虽然这可能存在安全风险。相反,您可能希望使用JSON解析器,例如可用的https://github.com/douglascrockford/JSON-js/blob/master/json2.js
形式的解析器然后你会得到如下符号:
var myData = JSON.parse(text);
有关此特定解析器的详细信息,请参阅http://www.json.org/js.html ...我相信还有其他人可以选择,并且它们的工作方式非常相似。