PHP: json_encode()でスラッシュをエスケープしない

Pocket

JSON-LD用に出力するデータをjson_encode()で出力したかった。
JSON-LDは通常こんな風に出力するらしい。



普通にjson_encode()するとURLのスラッシュにエスケープが付く。


echo json_encode($ld_data);
/*
{
  "@context": "http:\/\/schema.org",
  "@type": "Website",
  "url": "http:\/\/www.example.com",
  "name": "Hoge"
}
*/

別に構わないだろうが、スラッシュのエスケープは無い方がきれいなので、JSON_UNESCAPED_SLASHES オプションを指定した。


echo json_encode($data, JSON_UNESCAPED_SLASHES);
/*
{
  "@context": "http://schema.org",
  "@type": "Website",
  "url": "http://www.example.com",
  "name": "Hoge"
}
*/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です