У меня есть небольшая проблема. В настоящее время я работаю над преобразованием старой системы в более новую версию. В старой версии запросы данных управлялись апплетами Java, у которых не было проблем с "-char в данных".
Теперь, однако, я извлекаю данные из базы данных и преобразую их в JSON-строку, используя XSLT, а затем - с помощью функции prototype .evalJSON () - превращаю строку в объект.
Затем XSL структурирует данные следующим образом (пример):
{rowsets: [ { rows: [ { "ID":"xxx","OtherProperty":"yyy" } ] } ] }
Что само по себе нормально.
Теперь, когда в базе данных, содержащей "-символы", есть некоторые данные, evalJSON () завершается ошибкой, потому что он уничтожает обычно хорошо отформатированную строку JSON, например:
{rowsets: [ { rows: [ { "ID":"xxx","OtherProperty":"yyy "more" zzz" } ] } ] }
Теперь, то, что я хочу сделать, это как-то избежать «нежелательных» символов - без необходимости создавать какие-то хранимые процедуры для меня на стороне сервера.
Я пытался обернуть голову вокруг RegEx, но я не очень опытен в этой области, и поэтому мне действительно трудно понять это.
Если это поможет, последовательности символов, которые обязательно будут допустимы:
[":"] а также [","]
и последовательности, которые могут появиться и должны быть экранированы:
[\ s "], [" \ s], [",], [".] (\ s обозначает пробел)
Мы ценим всевозможную помощь, даже если какой-то SQL делает все это намного проще:)
Заранее спасибо!