I see your getJSON url is relative to the current document, not the site root.
My guess is that the SEO url has a different folder structure something like
ASP version http://sitedomain.com/aspfolderpath/page.aspx
SEO version http://sitedomain.com/some/other/path/page.htm
In which case your function would need to be:
$(document).ready(function () {
function ShowPrices() {
$.getJSON("/aspfolderpath/json_data.js", function (data) {
$.each(data, function () {
$('[id*="' + this['item'] + '"]').html(' ' + this['price']);
$('[id*="' + this['item'] + '"]').val(this['price']);
});
});
}
ShowPrices();
});