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