Javascript 无法在取消设置JSON数组的某些元素后打印Google标记

Javascript 无法在取消设置JSON数组的某些元素后打印Google标记,javascript,php,json,google-maps,google-maps-markers,Javascript,Php,Json,Google Maps,Google Maps Markers,我试图在GoogleMap上添加一些标记,但在我这么做之前,我需要取消设置JSON数组的一些元素,我正在这样做 $json = str_replace('"', '"', $loc); foreach ($json as $key => $value) { if(preg_match('/^[X]{2}/',$value['pname'])){ unset($json[$key]); } } echo json_encode($js

我试图在GoogleMap上添加一些标记,但在我这么做之前,我需要取消设置JSON数组的一些元素,我正在这样做

$json = str_replace('"', '"', $loc);
    foreach ($json as $key => $value)
{
    if(preg_match('/^[X]{2}/',$value['pname'])){
        unset($json[$key]);
    }
}
echo json_encode($json);
在取消设置之前,这是它在JS console.log()中的显示方式,绘制标记

[Object, Object, Object, Object,...]
但是在取消设置之后,它会显示为这样,并且不会绘制标记

Object {2: Object, 20: Object, 40: Object,...}
谁能给我指出正确的方向吗

这是在谷歌地图上生成标记的代码

makeRequest('get_locations.php', function(data) {
            var data = JSON.parse(data.responseText);
            for (var i = 0; i < data.length; i++) {
                displayResellersPostCode(data[i]);
            }
        });     
        function displayResellersPostCode(location) {
            if (parseInt(location.lat) == 0) {
              geocoder.geocode( { 'pcode1': location.pcode1 }, function(results, status) {
                  if (status == google.maps.GeocoderStatus.OK) {
                       var marker = new google.maps.Marker({
                          map: map, 
                          position: results[0].geometry.location,
                          title: location.uname
                      }); 
                  }
              });
             } else {
                 var position = new google.maps.LatLng(parseFloat(location.latitude), parseFloat(location.longitude));
                 var marker = new google.maps.Marker({
                     map: map, 
                     position: position,
                     title: location.uname
                 }); 
             } 
         }
makeRequest('get_locations.php',函数(数据){
var data=JSON.parse(data.responseText);
对于(变量i=0;i
我的最后一个有效代码

$json = str_replace('&quot;', '"', $loc);
foreach ($json as $key => $value)
{
    if(preg_match('/^[X]{2}/',$value['pname'])){
        unset($json[$key]);
    }
}
$json = array_values($json);
echo json_encode( $json); 

为什么我投了反对票?你传递给你的JS的JSON字符串是什么样子的(有无
unset
)?JS采用JSON字符串并使用它创建标记的样子是什么?感谢您的回复,
[{“uid”:“352”,“纬度”:“57.1269”,“经度”:“-2.13644”,“pname”:“XXAB1”},{“uid”:“60”,“纬度”:“57.1713”,“经度”:“-2.14152”,“pname”:“XXAB2”},{…}]
是否有任何方法可以将对象的状态转换回
取消设置之前的状态?处理JSON并创建标记的javascript代码是什么样子的?请用这个更新你的问题。