This is the code:
jsonResponse = eval(data);
var src = jsonResponse.DATA;
After having a Google around it appears that the eval function is interpreting the first item in the JSON response as a label, rather than data. By changing the code like this:
jsonResponse = eval("(" + data + ")");
We are forcing eval to recognise the data as variable data. Now the JSON to string translation works.