2013-08-03 37 views
-3

複雜JSON對象,我有我的服務器端我在這樣的格式json對象:獲取與PHP

{"page_1":{ 
    "stats":{ 
     "s1":10, "s2": 20} 
    }, 
    "rules":{ 
     "rule1":{ 
     "x": 2, "type":"normal"} 
     "rule2":{ 
     //etc 
     } 
    } 
    }, 
"page_2":{ 
    //etc 
    } 
} 

我怎樣才能訪問使用foreach例如不同的元素,因爲我需要把它們保存到數據庫。

更新:我試過了,卻徒勞無功:

foreach ($data as $key => $value) { 
    echo $key."\n"; 
    foreach ($value as $k => $v) { 
     echo $k." -- ".$v."\n"; 
    } 

}

+0

您是否將此轉換爲json字符串? – bansi

+0

我已經把它作爲字符串 –

+0

你可以使用'json_decode($ json_string,true);'並將它作爲php數組。 – bansi

回答

1

嘗試

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; 
$myarr = json_decode($json,true); 
foreach($myarr as $key=>$val){ 
    echo $key, '=>' ,$val , "\n"; 
} 

你用普通的PHP數組在這裏工作。

你的代碼修改(未測試)

foreach ($data as $key => $value) { 
    echo $key."\n"; 
    echo "heeeeeeeeeeeeeeeeeere: ", $key['stats']['s1'] , "\n"; 
    foreach ($value as $k => $v) { 
     echo $k," -- ",$v,"\n"; 
    } 
}