Not sure what you're getting at:
php > var_dump(json_decode(42)); // decoding a PHP int
int(42)
php > var_dump(json_decode('42')); // decoding a PHP string
int(42)
php > var_dump(json_decode('"42"')); // decoding a json string, containing a number
int(42)
php > var_dump(json_decode('foo')); // decoding invalid json
NULL
php > var_dump(json_decode('"foo"')); // decoding a valid string
string(3) "foo"
php > var_dump(json_decode('{"42":"foo"}')); // json object
object(stdClass)#1 (1) {
["42"]=>
string(3) "foo"
}