PHP json_encode-是否有任何输入导致此抛出错误?
无论我尝试给PHP json_encode-是否有任何输入导致此抛出错误?,php,json,Php,Json,无论我尝试给json\u encode($var),它都不会失败。它甚至以某种方式反序列化了一些对象 我正在寻找一个测试用例,其中PHP发现一些不可json序列化的东西(如果存在的话)。任何人都知道任何输入在哪里 $var 这本身不是一个错误,但是 json_encode($var) 失败?(引发异常、触发警告等)?导致json\u encode实际失败的数据类型并不多,但您可以通过检查结果是否为(布尔值)false(严格比较)或让json\u encode引发异常(自PHP 7.3.0起可用
json\u encode($var)
,它都不会失败。它甚至以某种方式反序列化了一些对象
我正在寻找一个测试用例,其中PHP发现一些不可json序列化的东西(如果存在的话)。任何人都知道任何输入在哪里
$var
这本身不是一个错误,但是
json_encode($var)
失败?(引发异常、触发警告等)?导致
json\u encode
实际失败的数据类型并不多,但您可以通过检查结果是否为(布尔值)false(严格比较)或让json\u encode
引发异常(自PHP 7.3.0起可用)来验证失败
资源将失败,因为它们不能被类型化为任何有意义的内容
<?php
//Valid
var_dump(json_encode('Just a string'));
//Valid
var_dump(json_encode(['an array']));
//Valid
var_dump(json_encode(null));
//Valid
var_dump(json_encode((new stdClass)));
//Invalid - returns false from json_encode
var_dump(json_encode(curl_init()));
//Invalid - Throws an JsonException since PHP 7.3.0
var_dump(json_encode(curl_init(), JSON_THROW_ON_ERROR));
来自docs的:“成功时返回JSON编码的字符串,失败时返回FALSE。”因此,它将返回FALSE,而不是exception。curl_init()正是我想要的,谢谢