我正在尝试使用PHP和json_decode解析JSON文件,但是当返回的JSON是命名空间时,我正在做这个难以实现的。例如:
$json_ouput = json_decode($json);
foreach ( $json_ouput->feed as $feed) {
/*
Here is the problem, $feed contains a namespaced key
$feed->ab:test->value // Does not work :(
*/
}
这里最好的解决方案是什么?
答案 0 :(得分:4)
一如既往。
$feed->{'ab:test'}->value
答案 1 :(得分:0)
与删除变量和周围字符串字符之间的歧义的方式大致相同,您可以使用{
和}
将访问者的一部分修补:
$json = '{"feed":[{"ab:test":{"value":"foo"}},{"ab:test":{"value":"bar"}}]}';
$json_output = json_decode( $json );
foreach ( $json_output->feed as $feed ) {
// Outputs: foo bar
print_r( $feed->{'ab:test'}->value );
}