Netsuite "Restlet" ошибки иногда сериализуются как недействительный jsonJavascript

Форум по Javascript
Anonymous
Netsuite "Restlet" ошибки иногда сериализуются как недействительный json

Сообщение Anonymous »

Я работал с «рестором» для установки NetSuite. Рестолет работает нормально, но он основан на некоторых вызовах SuiteQL (в основном), и, выполняя обновления и тестирование, у меня иногда есть дураки в коде SQL. Механизм ресторана преобразует исключение, которое он переворачивает в корпус ответа на ошибку JSON. Это было бы здорово, за исключением того, что по неизвестным причинам содержание ошибок JSON неправильно сериализуется на JSON. Serializer по какой-то причине превращает однокачественные символы в струнах запроса (включенные в ошибку, полезно) в пары Backslash-цитат. Что ж, в стандартном JSON одно категория BackSlash Plus не является действительным спасением персонажа. Конечно, это хорошо в JavaScript, но не JSON. Тем не менее, я подозреваю, что это возможно, каким -то образом попросить Netsuite больше не делать этого. Что ж, я надеюсь, что это возможно.

Код: Выделить всё

{
"error": {
"message": "Failed to parse SQL [ SELECT \'Hello World\' FROM NOTHING ]"
< /code>
Эти однокачественные символы, цитируемые с обратной связью, делают обычный анализатор JSON в узле несчастными, потому что они недействительны. Взлом, который я добавил: < /p>
let responseObject;
try {
responseObject = JSON.parse(responseText);
}
catch (e) {
try {
responseObject = JSON.parse(responseText.replace(/\\'/g, "'"));
}
catch (ee) {
// ... log, rethrow, etc
}
}
работает, но это кажется глупым.

Подробнее здесь: https://stackoverflow.com/questions/797 ... -sometimes

Вернуться в «Javascript»