替换javascript / jQuery中的字符不起作用

时间:2014-07-14 10:52:07

标签: javascript jquery asp.net

我正在用c#代码创建一个数组,然后我将这些值分配给文本框并再次从jQuery中读取它们...问题是数据的格式不正确...

当我分配文本框时,数据如下所示:

    [{"title":"MBONGENI NINELA","lat":"-25.9791666666667","lng":"28.1229","description":"1.227853"},{"title":"BRENTON ABRAHAMS","lat":"-25.9443","lng":"28.1409333333333","description":"4.950115"},{"title":"HUMPHREY DHLAMINI","lat":"-25.9405333333333","lng":"28.1398666666667","description":"5.341074"},{"title":"DRIVER","lat":"-26.0569333333333","lng":"28.0890666666667","description":"8.742389"},{"title":"JEROME GWABAZA","lat":"-26.0668333333333","lng":"28.1138666666667","description":"8.953844"},{"title":"GODFREY NGOMANE","lat":"-26.0439666666667","lng":"28.0585333333333","description":"9.538128"},{"title":"ISANDO BAKKIE","lat":"-26.0786666666667","lng":"28.0633666666667","description":"12.14226"},{"title":"NORMAN SCHLEICHER","lat":"-26.0086333333333","lng":"28.2524666666667","description":"12.41323"},{"title":"FAITH","lat":"-25.8726666666667","lng":"28.1856","description":"13.94629"},{"title":"ARMSTRONG MDEKAZI","lat":"-25.9270666666667","lng":"27.9988","description":"14.81507"},{"title":"PAUL CHILLIZA","lat":"-26.1017666666667","lng":"28.049","description":"15.07981"},{"title":"AMIT HARGOVAN","lat":"-25.9947","lng":"27.9635333333333","description":"16.72582"}]

但是当我从jQuery读取数据时,数据显示为:

    "[{\"title\":\"MBONGENI NINELA\",\"lat\":\"-25.9791666666667\",\"lng\":\"28.1229\",\"description\":\"1.227853\"},{\"title\":\"BRENTON ABRAHAMS\",\"lat\":\"-25.9443\",\"lng\":\"28.1409333333333\",\"description\":\"4.950115\"},{\"title\":\"HUMPHREY DHLAMINI\",\"lat\":\"-25.9405333333333\",\"lng\":\"28.1398666666667\",\"description\":\"5.341074\"},{\"title\":\"DRIVER\",\"lat\":\"-26.0569333333333\",\"lng\":\"28.0890666666667\",\"description\":\"8.742389\"},{\"title\":\"AMIT HARGOVAN\",\"lat\":\"-25.9947\",\"lng\":\"27.9635333333333\",\"description\":\"16.72582\"}]"

我的Google地图没有从jQuery读取值,因此显示标记/位置应显示的空div。但是当我手动添加值从文本框中读取它时,它会显示包含所有标记的地图。所以我猜测“\”字符就是问题所在。我试过用空格替换它,但它没有用。

这是我尝试的方式

    var marker = $('#txtMarkers').val();
        var markers = marker.replace(/\\/gi, " ");

但它不会删除“\”字符。我该怎么做才能做到这一点? ...我不习惯在javascript / jQuery中工作,对此很新,任何帮助或建议都将不胜感激....

1 个答案:

答案 0 :(得分:1)

尝试JSON.parse,如下所示,您将获得该对象。

var marker = $('#txtMarkers').val();
var markersObj = JSON.parse(marker);  
console.log(markersObj) // check your object in console.