我需要超過在PHP與後續的結構產生的JSON對象JS(沒有框架)進行迭代:遍歷特定JSON
{
EDITED: I DID HAVE AN ERROR, SORRY
}
我搜索沒有任何JS框架中的溶液。 ¿如何獲得,例如,
lvl1a.lvl2a.a
lvl1a.lvl2a.b
lvl1a.lvl2b.a
lvl1a.lvl2b.b
...
?
感謝
的更多信息:
我也有出錯。如果上一個代碼! SORRY
功能:填充兩個選擇, 「選擇1」 和 「選擇2」,與選項=類別OPTGROUP = CategoryParent
$toJson=array();
$selectname=array("select1","select2");
for($i=0;$i<2;$i++){
$sql="SELECT idCategory as v,name as l,(select name from categories where idCategory=C.idCategoryParent) as p FROM categories C WHERE idBanner".($i+1)." is NULL order by idCategoryParent, `order`";
$result =$ocdb->query($sql);
$nameIdx = "";
while ($row=mysql_fetch_assoc($result)){
$first=mysql_field_name($result, 0);
$second=mysql_field_name($result,1);
$third= mysql_field_name($result,2);
if($nameIdx!=$row[$third])
$nameIdx=$row[$third];
}
if($row[$third]!=NULL){
array_pop($row);
$toJson[$selectname[$i]][$nameIdx][]=$row;
}
}
}
$inJson=json_encode($toJson);
,所以我得到這樣的:
{
"select1": { "optgroup1":[{"v":"1","l":"option1"},{"v":"2","l":"option2"}],
"optgroup2":[{"v":"3","l":"option1"},{"v":"4","l":"option2"}],
"optgroup3":[{"v":"5","l":"option1"},{"v":"6","l":"option2"}]
},
"select2": { " (...)
}
// OPTGROUP是parentCategory //選項類別沒有父母
你必須提供更多的信息。你如何訪問來自JavaScript的數據?即你通過Ajax檢索,還是你的PHP腳本實際上生成JavaScript並將數據插入到它中?一般來說,你不能真正遍歷任何JSON數據,因爲它只是一個文本表示。你可以*把它轉換成一個JavaScript對象,然後只要你認爲合適的話就可以訪問它的屬性。 – 2012-02-28 14:04:50