大家好,我在分割字符串时遇到了一些问题,因为当我登录时,她的值似乎还可以,但是最终结果显示为“ \”,例如

"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;
}

最佳答案

您可以像这样替换它们

yourJsonString = yourJsonString.split('\\').join('');
var jsonObject = JSON.parse(yourJsonString);

09-15 15:18