如何从标记字符串中删除开始和结束双引号

时间:2016-12-19 04:32:40

标签: javascript

    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "MapImages.aspx/GetCctvData",
        data: "{}",
        dataType: "json",
        success: function (data) {

            var markers = '';
            var c = 0;
                 for (var j = 0; j < data.d.length; j++) {
                     markers = markers + '{'+
                        ' "title":'+'"'+ data.d[j].Name+'"'+','+ '"lat":'+'"'+data.d[j].Lat +'"'+','+' "lng":'+'"'+data.d[j].Lng +'"'+','+
                         '"img":' +'"'+ data.d[j].Url +'"'+ '}';

                     {
                     if(c!=97)
                         markers = markers +',';
                     }
                     c++;
                 }
                 markers= '[' + markers + ']';


        },
        error: function (result) {
            alert(data.d[i].Name);
        }
    });



</script>

标记的输出包括:

  "[{ 
"title":"Simpang Pulai KM285.2",
"lat":"4.5425", "lng":"101.141",
"img":"http://plus.aviven.net/push/images/cctv/c3781ad96bde24b6a588c875ec58a57c.jpg"
}]"

必需的输出是:

  [{ 
"title":"Simpang Pulai KM285.2",
"lat":"4.5425", "lng":"101.141",
"img":"http://plus.aviven.net/push/images/cctv/c3781ad96bde24b6a588c875ec58a57c.jpg"
}]

3 个答案:

答案 0 :(得分:0)

markers的类型是字符串,这就是为什么围绕对象获得""的原因。您所需的输出看起来像一个json数组。如果你想让markers成为一个json数组,那就把它变成一个如下所示的数组:

var markers = [];
for (var j = 0; j < data.d.length; j++) {
    var marker = {
        title: data.d[j].Name,
        lat: data.d[j].Lat,
        lng: data.d[j].Lng,
        img: data.d[j].Url
    };
    markers.push(marker);
}    

答案 1 :(得分:0)

同意Toma.Never尝试附加json字符串。当你需要它时,尝试从对象中获取它,并且会更加美观,清晰和高效。

答案 2 :(得分:0)

只需从服务器解析返回的数据。 使用:

$.parseJSON()

示例:

var data = $.parseJSON(data);