2013-06-05 2 views
1

Кто-нибудь когда-либо использовал это и заработал? У меня настоящие проблемы, потому что он говорит мне, что есть ошибка JScript, и я не знаю, как это исправить.AX - Asp Xtreme Evolution - Json parser for classic asp

Ссылки на это здесь, чтобы получить информацию о продукте, но это парсер JSON для классического asp. Iterating though a JSON return using ASP Xtreme Evolution

Я уверен, что у меня это работало другое на днях, но теперь я вернулся к нему, это бросает ошибку JScript, и я не могу заставить его работать.

Итак, я отправляю JSON к классической странице осины, это код, я использую, чтобы включить страницу json2.asp в соответствии с указаниями во всех учебниках:

<%@LANGUAGE="VBSCRIPT"%> 
<!--#include file="json2.asp"-->"%> 
<% 'json processing details here.. 

Ошибка он бросает находится в строке json2.asp, и это ошибка JScript. Вот точная ошибка:

Microsoft JScript compilation error '800a03ea' 
Line 765 json2.asp 

Я считаю, что это версия Crockfords json2.js, и я думаю, что причина его в странице ВРУ, поэтому он может использовать JScript, но это не прогрессирует для меня. Кто-нибудь знает, о чем я говорю, это может помочь мне, прежде чем я вырву все волосы!

Позвольте мне знать, если вам нужно больше информации - большое спасибо

UPDATE

Вот строки 765 (в середине между комментариями)

if (/^[\],:{}\s]*$/. 
test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@'). 
replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'). 
replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { 

// In the third stage we use the eval function to compile the text into a 
// JavaScript structure. The '{' operator is subject to a syntactic ambiguity 
// in JavaScript: it can begin a block or an object literal. We wrap the text 
// in parens to eliminate the ambiguity. 

     j = eval('(' + text + ')'); 

// In the optional fourth stage, we recursively walk the new structure, passing 
// each name/value pair to a reviver function for possible transformation. 

     return typeof reviver === 'function' ? 
      walk({'': j}, '') : j; 
} 
+0

проверьте, является ли ответ, который вы обрабатываете, пустым. – SearchAndResQ

+0

Это также поможет узнать, что такое строка 765 и какой-то соответствующий код до/после нее. – AnonJr

+0

Хорошо, добавил соответствующий код к исходному сообщению, но необъяснимо он снова начал работать. Я не трогал его с этого поста вчера вечером, поэтому я не понимаю, что случилось! Спасибо за то, что посмотрели все-таки люди - я могу вернуться, когда решает не играть в мяч снова! –

ответ

0

Вы не включая право вещи. Вам нужна полная библиотека и включить следующие файлы (соответствующим образом измените ваши пути).

<!-- #include file="includes/extlib/axe/base.asp" --> 
<!-- #include file="includes/extlib/axe/classes/Parsers/json.class.asp" --> 

Тогда на самом деле использовать, вы делаете что-то вроде этого:

set oJson = new Json 
oJson.loadJson(strJSON) 

strSomething = oJson.getElement("theElement") 

set oJson = nothing 

Все это взято из рабочего кода.

+0

Нет, я не думаю, что это правильно. Как я уже сказал в комментарии вчера вечером, он начал таинственно работать после внесения изменений. Он работал раньше, затем не работал вообще, а затем снова начал работать через 24 часа. Рабочая модель не включает всю библиотеку - то, как я это делал, было рекомендовано на других сайтах как способ работы без раздувания добавления всей библиотеки только для синтаксического анализа json. Спасибо, хотя - я все равно ценю ввод :) –

+0

Это не загрузка всей библиотеки, просто базы и анализатора JSON. Я взял его из рабочего кода, поэтому он должен решить ваши проблемы. Возможно, что иногда требуется доступ к функциям в базовом классе, и поэтому вы видите периодические результаты. –