我通过 CURL 收到字符串“{success: false, errors: { reason: 'text text text' }}”,如何将此字符串转换为数组或对象?
字符串 '{"success": "false"....}' 可以通过 json_decode 转换为对象,但我有没有 qoutes 的字符串。
首先使用这个正则表达式(它添加引号)
$json = preg_replace ('/(?<!")(?<!\w)(\w+)(?!")(?!\w)/u', '"$1"', $string);
之后,您可以简单地使用 json_decode()
$array = json_decode ($json);
我在某处找到了这个脚本:
function json_fix_quotes ($string){
$string = str_replace("{",'{"',$string);
$string = str_replace(":'",'":"',$string);
$string = str_replace("',",'","',$string);
$string = str_replace("'}",'"}',$string);
return $string;
}
试试这个而不是正则表达式