我知道这个问题以前问过很多次,但我仍然不能得到这个工作。我有一个json,当我转储$TenentsAccessible
输出是这个
string(71) "[{`TenantID`:`test.com`,`Name`:`12thdoor`}]"
我需要得到TenantID
属性内的值。所以我使用json解码将其转换为php数组,但返回null
$jnTenant = json_decode($TenentsAccessible,TRUE);
$tenantID = $jnTenant["TenantID"];
var_dump($jnTenant); // this return null
我尝试使用
删除"
和不需要的字符$TenentsAccessible = str_replace('"', '"', $TenentsAccessible);
$TenentsAccessible=preg_replace('/'s+/', '',$TenentsAccessible);
我知道这种类型的问题问之前,但我仍然不能得到这个工作。适当的帮助。由于
你可以在JsonLint上检查你的json代码。
我试了你的代码,它是不正确的,因为反引号(')。
所以你应该用(")来代替[{
"TenantID": "test.com",
"Name": "12thdoor"
}]
正如hasan在他的回答中所描述的,json_decode返回一个多维数组,因此要获得TenantID:
$jnTenant = json_decode('[{"TenantID":"test.com","Name":"12thdoor"}]',true);
$tenantID = $jnTenant[0]['TenantID'];
var_dump($tenantID) ;
如果你想以你描述的方式获得"TenantID",你必须修改(如果可以的话)json,像这样
{
"TenantID": "test.com",
"Name": "12thdoor"
}
希望能有所帮助。
试一试:
$jnTenant = json_decode('[{"TenantID":"test.com","Name":"12thdoor"}]',true);
$tenantID = $jnTenant[0]['TenantID'];
var_dump($tenantID) ;
正确json和正确获取json !
理解这个plz print_r( $jnTenant );
此变量为二维数组。