Sachila Ranawaka
Sachila Ranawaka

Reputation: 41387

Json decode returns null value

i know this question ask many time before but still i could't get this working. i have a json and when i dump $TenentsAccessible output is this

string(71) "[{`TenantID`:`test.com`,`Name`:`12thdoor`}]" 

i need to get the value inside TenantID property. so i use json decode to convert this to php array but is returns null

$jnTenant = json_decode($TenentsAccessible,TRUE);           
$tenantID = $jnTenant["TenantID"];
var_dump($jnTenant); // this return null

i try to remove the &quot and unwanted characters using this

$TenentsAccessible = str_replace('"', '"', $TenentsAccessible);
$TenentsAccessible=preg_replace('/\s+/', '',$TenentsAccessible); 

i know this type of question ask before but i still could't get this to work. appropriate the hlep. thanks

Upvotes: 3

Views: 1245

Answers (2)

stuzzo
stuzzo

Reputation: 1066

you can check your json code on JsonLint.

I tried your code and it's not correct because of backticks (`).

So you should replace with (") to have

[{
    "TenantID": "test.com",
    "Name": "12thdoor"
}]

As hasan described in his answer, json_decode returns a multi-dimensional array, so to get TenantID:

$jnTenant = json_decode('[{"TenantID":"test.com","Name":"12thdoor"}]',true);           
$tenantID = $jnTenant[0]['TenantID'];
var_dump($tenantID) ; 

If you want to get the "TenantID" in the way you described, you have to modify (if you can) the json like this

{
    "TenantID": "test.com",
    "Name": "12thdoor"
}

Hope it helps.

Upvotes: 2

hasan movahed
hasan movahed

Reputation: 364

try it :

$jnTenant = json_decode('[{"TenantID":"test.com","Name":"12thdoor"}]',true);           
$tenantID = $jnTenant[0]['TenantID'];
var_dump($tenantID) ; 

correct json and corect get json !

for understand this plz print_r( $jnTenant );

this varibale is Two-dimensional array .

Upvotes: 1

Related Questions