如何在 PHP 中编码原始 JSON 字符串



我有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;

最新更新