我知道这个问题很久以前就会问,但我仍然无法解决这个问题。
我有一个json,当我转储$TenentsAccessible
输出是这个
string(71) "[{`TenantID`:`test.com`,`Name`:`12thdoor`}]"
我需要获取TenantID
属性中的值。所以我使用json decode将其转换为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);
我知道这类问题之前有过问题,但我仍然无法解决这个问题。适当的hlep。谢谢
答案 0 :(得分:2)
您可以在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"
}
希望它有所帮助。
答案 1 :(得分:1)
试一试:
$jnTenant = json_decode('[{"TenantID":"test.com","Name":"12thdoor"}]',true);
$tenantID = $jnTenant[0]['TenantID'];
var_dump($tenantID) ;
纠正json和 corect get json !
了解此plz print_r( $jnTenant );
这个varibale是二维数组。