--TEST-- MongoDB\BSON\Javascript::jsonSerialize() with json_encode() (without scope) --FILE-- new MongoDB\BSON\Javascript('function(bar) { return bar; }')]; $json = json_encode($doc); echo toJSON(fromPHP($doc)), "\n"; echo $json, "\n"; var_dump(toPHP(fromJSON($json))); ?> ===DONE=== --EXPECTF-- { "foo" : { "$code" : "function(bar) { return bar; }" } } {"foo":{"$code":"function(bar) { return bar; }"}} object(stdClass)#%d (%d) { ["foo"]=> object(MongoDB\BSON\Javascript)#%d (%d) { ["code"]=> string(29) "function(bar) { return bar; }" ["scope"]=> NULL } } ===DONE===