枪口json布尔值问题false为空

时间:2018-12-27 19:02:59

标签: php json guzzle

我有一个PHP Twig字体结尾,调用Python Flask API。 API完全按照我的预期做,因为ORM,DB,Objects和Json都将布尔值视为0-False和1-json中的True或true / false(布尔值为True False None)

看看发送的JSON像{"required": false, "data": "other"这样的字段(正确的json)

但是,当像这样解析PHP Guzzle中的响应时:

$obj= json_decode($gResponse->getBody()->getContents(), TRUE);

obj['required']的字段为空白或{"required" => , "other" => "data"}

true显然已翻译为1

是否有必要让Guzzle遵循正确的json? json支持Boolean为什么Guzzle会经历转换它们的麻烦?

1 个答案:

答案 0 :(得分:2)

通过注释,var_dump($obj['required'])显示它等于false,符合预期。

Twig将其强制转换为输出字符串,(string)false导致空字符串""。如果您希望它输出truefalse

{{ $obj['required'] ? 'true' : 'false' }}