Php Guzzle json Boolean issue false为空

Php Guzzle json Boolean issue false为空,php,json,guzzle,Php,Json,Guzzle,我有一个PHP小枝字体端调用Python Flask API。API所做的正是我认为它应该做的,因为ORM、DB、对象和Json都将布尔值视为Json中的0-False和1-True或True/False(python为True-False-None) 查看发送的JSON,类似于{“required”:false,“data”:“other”的字段就是(正确的JSON) 但是,当PHP Guzzle中的响应按如下方式解析时: $obj= json_decode($gResponse->ge

我有一个PHP小枝字体端调用Python Flask API。API所做的正是我认为它应该做的,因为ORM、DB、对象和Json都将布尔值视为Json中的0-False和1-True或True/False(python为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支持布尔值,为什么Guzzle要经历转换它们的麻烦呢?

通过注释,
var\u dump($obj['required'])
如预期的那样显示它等于
false

Twig将把它转换为一个字符串进行输出,而
(string)false
将导致一个空字符串
“”
。如果希望它输出
true
false

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

通过注释,
var_dump($obj['required'])
显示它等于
false
,正如预期的那样

Twig将把它转换为一个字符串进行输出,而
(string)false
将导致一个空字符串
“”
。如果希望它输出
true
false

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

var_dump($obj['required'])
的输出是什么?False通常被解释为空白,否则您会看到
'
。这很好。如果您想要数字,请尝试
(int)$obj['required']
取决于您输出它的方式,它可能实际上是
false
PHP也有输出虚假值的倾向……好吧……什么都没有。正如您所看到的,Print R会受到这种影响。我个人不会担心的。@ceejayoz interest
var_dump
有布尔值,而
Print_R
没有布尔值……所以它看起来不太夸张le正如我所想。Twig解析它的方式一定不同,然后…@ArtisticPhoenix似乎你是对的。我使用了
print\r
或者在Twig中输出变量,该变量也是空的。但是,正如我的另一条评论所示,
var\u dump
似乎看到一个布尔值为false。然后它出现了一点PHP问题。奇怪的是,我从来没有看到过这在第一次使用PHP之前就已经过时了。
var_dump($obj['required'])
的输出是什么?False通常被解释为空白,否则您会看到
'
。这很好。如果您想要数字,请尝试
(int)$obj['required']
取决于您输出它的方式,它可能实际上是
false
PHP也有输出虚假值的倾向……好吧……什么都没有。正如您所看到的,Print R会受到这种影响。我个人不会担心的。@ceejayoz interest
var_dump
有布尔值,而
Print_R
没有布尔值……所以它看起来不太夸张le正如我所想。Twig解析它的方式一定不同,然后…@ArtisticPhoenix似乎你是对的。我使用了
print\r
或者在Twig中输出变量,该变量也是空的。但是,正如我的另一条评论所示,
var\u dump
似乎看到一个布尔值为false。然后它出现了一点PHP问题。奇怪的是,我从来没有看到过这是我第一次不完全使用PHP。这是我最终要做的。似乎是“预期”的行为,所以我没有弄糟任何事情!这是我最终要做的事情。似乎是“预期”的行为,所以我没有弄糟任何事情!