Guzzle json 布尔问题 false 为空白

Guzzle json Boolean issue false is blank

我有一个 PHP Twig 字体端调用 Python Flask API。 API 正在做我认为应该做的事情,因为 ORM、DB、对象和 Json 都将布尔值视为 json 中的 0 - False 和 1 - True 或 true/false( python 为真 为假 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 支持布尔值,为什么 Guzzle 要费力地转换它们?

根据评论,var_dump($obj['required']) 显示它等于 false,正如预期的那样。

Twig 将把它转换成一个字符串输出,(string)false 结果是一个空字符串 ""。如果你想让它输出 truefalse:

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