Не уверен, но первое, что я хотел бы сделать, это проверить разрешения на json2.js. Используйте icacls.exe и убедитесь, что разрешения для этого файла совпадают с разрешениями на самой странице .ASP. Я делаю это:
%windir%\system32\icacls.exe json2.js /grant "NT AUTHORITY\IUSR:(RX)"
%windir%\system32\icacls.exe json2.js /grant "BUILTIN\IIS_IUSRS:(RX)"
Также - для отладки ASP вы можете поиграть с настройками отладки ASP в IIS Manager. Нажмите «Отправить ошибки клиенту», чтобы увидеть ошибки в окне браузера клиента.
Кроме того, вы можете вручную добавить это в web.config:
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" existingResponse="PassThrough" />
<asp scriptErrorSentToBrowser="false" />
</system.webServer>
</configuration>
В Vista / 2008 / Win7 вам также может понадобиться «разблокировать» раздел web.config, который разрешает это.
%windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/asp
Это не решит проблему «JSON не объект», но даст вам лучшие сообщения об ошибках при возникновении сбоев.