Como fazer com que ajax.net pagemethod devolva JSON
-
20-09-2019 - |
Pergunta
Estou usando um Ajax.net para ligar para um ASP.NET PAGEMETHOD, que retorna dados JSON JSON JSON
{"d":"[{\"Fromaddress\":\"testfrom1@test.com\",\"Toaddress\":\"testto1@test.com\"},{\"Fromaddress\":\"testfrom2@test.com\",\"Toaddress\":\"testto2@test.com\"}]"}
O cabeçalho da resposta declara o tipo de conteúdo como
"Content-Type application/json; charset=utf-8"
No entanto, os dados estão disponíveis apenas como uma string e não parecem estar disponíveis como dados JSON do JavaScript. O que preciso fazer para trabalhar com os dados devolvidos como JSON da JavaScript?
Solução
var myData = eval('(' + text + ')');
Embora isso possa ser um risco de segurança. Em vez disso, você pode querer usar um analisador JSON, como este formulário disponível https://github.com/douglascrockford/json-js/blob/master/json2.js
Então você obtém notação como:
var myData = JSON.parse(text);
Ver http://www.json.org/js.html Para mais informações sobre esse analisador em particular ... acredito que há outras pessoas para escolher e que elas funcionam de maneira muito semelhante.