2013-03-21 101 views
3

我试图此JSON解码,但没有运气,这些方括号是让我困惑 任何帮助,将不胜感激,这是我的JSON解码JSON用方括号

[{"location":[{"building":["Default Building"],"name":"Default Location"}],"name":"Default Organization"}] 

谢谢

+0

似乎是有效的JSON。那么你的问题是什么? – Gumbo 2013-03-21 07:09:34

+1

'$ str ='{{“location”:[{“building”:[“Default Building”],“name”:“Default Location”}],“name”:“Default Organization”}]'; print_r(json_decode($ str));'这是有效的JSON和方括号表示数组:http://www.json.org/ – 2013-03-21 07:10:55

+0

在这里检查。它的有效性,为什么你感到困惑? – 2013-03-21 07:12:58

回答

2

试试这个:

var_export(json_decode('[{"location":[{"building":["Default Building"],"name":"Default Location"}],"name":"Default Organization"}]') ); 

json_decode返回数组或object。你可以用var_exportecho

打印,你可以访问到的值:

$items = json_decode('[{"location":[{"building":["Default Building"],"name":"Default Location"}],"name":"Default Organization"}]'); 

foreach($items as $each){ 
    echo $each->location[0]->building[0]; 
    echo '<hr />'; 
    echo $each->location[0]->name; 
    echo '<hr />'; 
    echo $each->name; // default organization 
} 
+0

谢谢大家, @ Alireza41,我如何检索值默认组织 – Sree 2013-03-21 07:58:06

0

好像它是一个有效的JSON。

$my_json = '[{"location":[{"building":["Default Building"],"name":"Default Location"}],"name":"Default Organization"}]'; 
$my_data = json_decode($my_json); 
print_r($my_data); 

//输出

Array 
(
    [0] => stdClass Object 
     (
      [location] => Array 
       (
        [0] => stdClass Object 
         (
          [building] => Array 
           (
            [0] => Default Building 
           ) 

          [name] => Default Location 
         ) 

       ) 

      [name] => Default Organization 
     ) 

) 
1

您的JSON是有效的,可能是你所面临的问题,同时访问数组内的对象。

print_r总是理解数组结构的好朋友。试试这个

$json = '[{"location":[{"building":["Default Building"],"name":"Default Location"}],"name":"Default Organization"}]'; 
$decoded = json_decode($json); 

echo '<pre>'; 
print_r($decoded); 

$location = $decoded[0]->location; 
$building = $location[0]->building[0]; 
$name = $location[0]->name; 

对象在场所0只返回的第一个项目,如果你的阵列有多个值,则使用的foreach