json_encode为非null值返回null

时间:2012-09-24 15:21:17

标签: php json

这段代码出了什么问题?

$a = Array (
    "password" => "SeRjQRVUglkeM‰‰P9L7NsjKXOY", //it's encrypted with a custom encryption system
    "id" => 0
);
echo json_encode($a);

我得到了什么:

{"password":null,"id":0}

我想要的输出是什么:

{"password":"SeRjQRVUglkeM‰‰P9L7NsjKXOY","id":0}

1 个答案:

答案 0 :(得分:12)

json_encode期望有效的UTF-8,并且不会编码无效的UTF-8值。如果您的“自定义加密值”包含二进制数据,我认为,通过JSON传输是不安全的。您应该base64_encode该值,因此它仅使用可传输的ASCII字符。