これの理由は私を「脱出」させます。
JSONはスラッシュをエスケープするため、ハッシュ{a: "a/b/c"}
はでは{"a":"a\/b\/c"}
なくとしてシリアル化されます{"a":"a/b/c"}
。
どうして?
json_encode()
はデフォルトでスラッシュをエスケープしますが、JSON_UNESCAPED_SLASHES
PHP 5.4.0(2012年3月)以降のオプションがあります
'</'
:echo str_replace('</', '<\/', json_encode($obj, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));