NetSuite "Restlet" -Fehler werden manchmal als ungültiges JSON serialisiertJavaScript

Javascript-Forum
Anonymous
 NetSuite "Restlet" -Fehler werden manchmal als ungültiges JSON serialisiert

Post by Anonymous »

Ich habe mit einem "Restlet" für eine NetSuite -Installation gearbeitet. Das RESTLET funktioniert einwandfrei, basiert jedoch auf einigen Suiteql -Aufrufen (SQL im Grunde genommen), und beim Durchführen von Updates und Tests habe ich manchmal Natürlich im SQL -Code. Der RESTLET -Mechanismus verwandelt die Ausnahme, die er in einen JSON -Fehlerantwortkörper fängt. Das wäre großartig, außer dass aus unbekannten Gründen der JSON -Fehlerinhalt fälschlicherweise mit JSON serialisiert ist. Der Serializer besteht aus irgendeinem Grund, einzelne Quotszeichen in den Abfragesträgern (hilfreich im Fehler enthalten) in Backslash-Quote-Paare zu verwandeln. Nun, in Standard-JSON ist ein Backslash plus Single-Quote keine gültige Zeichenflucht. In JavaScript ist es natürlich in Ordnung, aber nicht in JSON. Ich vermute jedoch, dass es irgendwie möglich ist, NetSuite zu bitten, dies nicht mehr zu tun. Nun, ich hoffe es ist möglich.

Code: Select all

{
"error": {
"message": "Failed to parse SQL [ SELECT \'Hello World\' FROM NOTHING ]"
< /code>
Diese von Backslash zitierten Single-Quot-Zeichen machen den normalen JSON-Parser im Knoten unglücklich, da sie nicht gültig sind. Der Hack, den ich hinzugefügt habe: < /p>
let responseObject;
try {
responseObject = JSON.parse(responseText);
}
catch (e) {
try {
responseObject = JSON.parse(responseText.replace(/\\'/g, "'"));
}
catch (ee) {
// ... log, rethrow, etc
}
}
funktioniert aber dumm.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post