PHP JSon How to read boolean value received in JSon format and write in string on PHP

json, php

Solution

you can use it like this, in `JSON` format when you evaluate `false` value it will give you `blank`, and when you evaluate `true` it will give you `1`.

$str = '[{"clientId":"17295c59-4373-655a-1141-994aec1779dc","channel":"\/meta\/connect","connectionType":"long-polling","ext":{"fm.ack":false,"fm.sessionId":"22b0bdcf-4a35-62fc-3764-db4caeece44b"},"id":"5"}]';

$arr = json_decode($str,true);

if($arr[0]['ext']['fm.ack'])    // suggested by **mario**
{
    echo "true";    
}
else {
    echo "false";   
}

Problem

I receive this JSON string from another site and I cannot modify what received from. The string is receive in $_POST and is : ``` [ { "clientId":"17295c59-4373-655a-1141-994aec1779dc", "channel":"\/meta\/connect", "connectionType":"long-polling", "ext":{ "fm.ack":false, "fm.sessionId":"22b0bdcf-4a35-62fc-3764-db4caeece44b" }, "id":"5" } ] ``` I decode the JSON string with the following code : ``` $receive = json_decode(file_get_contents('php://input')); ``` And when I use `print_r($receive)` I get the following: ``` Array ( [0] => stdClass Object ( [clientId] => 17295c59-4373-655a-1141-994aec1779dc [channel] => /meta/connect [connectionType] => long-polling [ext] => stdClass Object ( [fm.ack] => [fm.sessionId] => 22b0bdcf-4a35-62fc-3764-db4caeece44b ) [id] => 5 ) ) ``` I can access and read all Array / Object with no problem : ``` $receive[$i]->clientId; $receive[$i]->channel; $connectionType = $receive[$i]->connectionType; $receive[$i]->id; $receive[$i]->ext->{'fm.sessionId'}; ``` But {fm.ack} is empty In the decoded JSON string, the false value is not between `""`. Is it possible to access and read the false value and convert it into string value instead? Thank you for your helping !

Original source