Я работал с «рестором» для установки 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