如何去掉json中的“{”和“}”?

How to get rid of the "{" and "}" in json?

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

这是我的 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代码中多余的“[”和“{”?我认为这无关紧要,但确实如此。当我把原始代码放在那里时。它的工作。然后我认为这是问题所在。

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

的对象数组

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

$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);