如何摆脱" {"和"}"在json?

时间:2018-01-14 17:48:40

标签: php json pannellum

我在地图热点上工作。哪些是需要完全正确的手册。但是从我的代码。更多的角色会干扰插件的解释。

这是我的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循环一定有问题。但我看不到。来自插件页面的This is the example

所以问题是如何摆脱额外的" ["和" {"在json代码?我认为它并不重要但事实并非如此。当我把原始代码放在那里。它正在工作。然后我认为这是问题所在。

1 个答案:

答案 0 :(得分: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);