php json_decode()给出null

时间:2017-03-21 10:05:46

标签: php json

我有一个像下面的json字符串

{"cv_url":"http://localhost/kaj/wp-content/uploads/2017/03/Mir-Ruhul-Amin.doc","cv_path":"C:\wamp\www\kaj/wp-content/uploads/2017/03/Mir-Ruhul-Amin.doc"}

在尝试通过php json_decode()进行解码时,它为我提供了空值。

感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:2)

那是因为你的JSON无效。 你需要像这样逃避:

{
    "cv_url": "http://localhost/kaj/wp-content/uploads/2017/03/Mir-Ruhul-Amin.doc",
    "cv_path": "C:\\wamp\\www\\kaj/wp-content/uploads/2017/03/Mir-Ruhul-Amin.doc"
}

所以你的变量应该是:

'{"cv_url": "http://localhost/kaj/wp-content/uploads/2017/03/Mir-Ruhul-Amin.doc","cv_path": "C:\\wamp\\www\\kaj/wp-content/uploads/2017/03/Mir-Ruhul-Amin.doc"}'

让PHP解码它。

要转义JSON,您可以先在php中对数组进行编码,如果不适合您,可以使用以下函数:

/**
 * @param $value
 * @return mixed
 */
function escapeJsonString($value) {
    $escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");
    $replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");
    $result = str_replace($escapers, $replacements, $value);
    return $result;
}

提示:

您始终可以在以下在线工具上测试json的有效性:

http://jsonlint.com

http://www.jsoneditoronline.org/