海蘭大家,我有一些問題,分割字符串,因爲當我登錄她的價值似乎確定,但在最終結果中出現的「\」之類,分割字符串用「」的Node.js
"map":"{\"isRoot\": true, \"visible\": true}" instead of have "map":"{"isRoot": true, "visible": true}"
所以我有這樣的代碼
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);
}
而且我的日誌:
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}"
這究竟是爲什麼?
---解決
if(mapData!=undefined){
var map = mapData.map;
var aux = map.split('\\').join('');
var jsonObject = JSON.parse(aux);
sendData.map = jsonObject;
}
的問題是,我通過郵寄發送給終端有這種「\」出現...... –
如果您是通過POST請求發送,你看那些「\」 S,這意味着服務器認爲,它收到一個字符串。您必須在發佈請求中將標題設置爲「Content-Type」:「application/json」。然後服務器會認爲它實際上是一個JSON對象而不是一個字符串。 – ardilgulez
我已經解決了我的問題,謝謝BTW :) –