0

我正在研究地图热点。哪些需要完全按照手册进行更正。但从我的代码。有更多字符干扰插件解释。

这是我的json:

[{//this is the extra
  "hs1": {
    "title": "Door Way",
    "hfov": "110",
    "pitch": "-3",
    "yaw": "130",
    "type": "equirectangular",
    "panorama": "\/photos\/Door-Way-5a57aff9c30b7.jpg",
    "hotSpots": [{
      "id": "17",
      "pitch": "-0.8069389",
      "yaw": "-174.40953",
      "type": "info",
      "text": "Closet"
    }]
  }
},//extra
{//extra
  "hs2": {
    "title": "Toilet",
    "hfov": "110",
    "pitch": "-3",
    "yaw": "130",
    "type": "equirectangular",
    "panorama": "\/photos\/Toilet-5a58b8ed2cb23.jpg",
    "hotSpots": ""
  }
}//extra]

在每组新的词汇表中,都会有一个额外的“{}”进来。

这是我的PHP:

$result[]=array(
    "hs".$rec_scnArr['id']=>
    array(
    "title"=>$rec_scnArr['title'],
    "hfov"=>$rec_scnArr['hfov'],
    "pitch"=>$rec_scnArr['pitch'],
    "yaw"=>$rec_scnArr['yaw'],
    "type"=>"equirectangular",
    "panorama"=>"/photos/".$rec_sIMG['pic_file'],
    "hotSpots"=>$hotSpots           //$hotSpots is the array
    )
);

echo json_encode($result,true);

我确定php循环一定有问题。但我看不到。这是插件页面中的示例。

那么问题来了,如何去掉json代码中多余的“[”和“{”?我认为这没关系,但它是。当我把原始代码放在那里时。它正在工作。然后我认为这就是问题所在。

4

1 回答 1

2

看起来您想要的是具有多个属性的单个对象,而不是每个具有单个属性的对象数组。

为此,您需要将所有属性添加到同一个数组中:

$result["hs".$rec_scnArr['id']] = array(
    "title"=>$rec_scnArr['title'],
    "hfov"=>$rec_scnArr['hfov'],
    "pitch"=>$rec_scnArr['pitch'],
    "yaw"=>$rec_scnArr['yaw'],
    "type"=>"equirectangular",
    "panorama"=>"/photos/".$rec_sIMG['pic_file'],
    "hotSpots"=>$hotSpots           //$hotSpots is the array
);

echo json_encode($result,true);
于 2018-01-14T17:56:22.647 回答