我有JSON,它已保存在我网站的文本框中,到下面的数据库中。
{"@type":"GOOOGLE.COM","@id":"GOOGLE","url":"GOOGLE","inLanguage":"en-US","name":"dfghjk | Bloomberg Professional Services","isPartOf":{"@id":"GOOGLE,"datePublished":"2020-02-11T21:51:45+00:00","dateModified":"2020-02-11T21:51:45+00:00"}]}
我想将其转换为在 PHP 中正确显示,如下所示:
{"@type":"GOOOGLE.COM","@id":"GOOGLE","url":"GOOGLE","inLanguage":"en-US","name":"dfghjk | Bloomberg Professional Services","isPartOf":{"@id":"GOOGLE,"datePublished":"2020-02-11T21:51:45+00:00","dateModified":"2020-02-11T21:51:45+00:00"}]}
我尝试做一个json_encode但它不起作用。如何在 PHP 中将带有所有这些转义引号等的字符串转换为普通的 json 字符串?
我试过了:
$str = "{"@type":"GOOOGLE.COM","@id":"GOOGLE","url":"GOOGLE","inLanguage":"en-US","name":"dfghjk | Bloomberg Professional Services","isPartOf":{"@id":"GOOGLE,"datePublished":"2020-02-11T21:51:45+00:00","dateModified":"2020-02-11T21:51:45+00:00"}]}"
$data = json_encode($str, true);
return $data;
您需要将 HTML 实体解码回字符:
https://www.php.net/manual/en/function.htmlspecialchars-decode.php
$json = htmlspecialchars_decode($str, true); // valid json string
$data = json_decode($json); // convert json to php data structure
return $data;