Hy alle, ich habe ein paar Probleme mit Split eine Zeichenfolge, weil, wenn ich ihr Wert log ok scheint aber im Endergebnis erscheint „\“ wie,Split-String von „“ Node.js
"map":"{\"isRoot\": true, \"visible\": true}" instead of have "map":"{"isRoot": true, "visible": true}"
So habe ich diesen Code
if(mapData!=undefined){
var map = mapData.map;
console.log("sendDeviceInfo getServicesMapInfoById map >>>>>>>>>>>>>>>>>>>>> ", map);
sendData.map=map;
createLog('debug', __dirname, __filename.slice(__dirname.length + 1, -3), device.id, 'sendDeviceInfo','sendData.map 1', sendData.map);
}
Und meine Protokolle:
sendDeviceInfo getServicesMapInfoById map >>>>>>>>>>>>>>>>>>>>> {"isRoot": true, "visible": true}
4|wscontro | [2017-05-30 12:36:03.010] - debug: /opt/wscontroller/wscontroller-service/scripts/gps GpsController 58a8c61b-f11d-4874-91df-3a5205e4145f sendDeviceInfo sendData.map 1 "{\"isRoot\": true, \"visible\": true}"
Warum ist das passiert?
--- Lösung
if(mapData!=undefined){
var map = mapData.map;
var aux = map.split('\\').join('');
var jsonObject = JSON.parse(aux);
sendData.map = jsonObject;
}
Das Problem ist, dass ich dies per Post an einen Endpunkt senden und dort dieses "\" erscheint ... –
Wenn Sie das über eine POST-Anfrage senden und Sie diese "\" s sehen, bedeutet dies, dass der Server das denkt es erhielt eine Zeichenfolge. Sie müssen einen Header in die Post-Anfrage als "Content-Type": "application/json" setzen. Dann wird der Server denken, dass es tatsächlich ein JSON-Objekt und keine Zeichenfolge ist. – ardilgulez
Ich habe schon mein Problem gelöst danke :) –