[英]Associative array decoding in JSON
我試圖根據數據庫中的信息更改元素列表的類。 我認為簡單的方法是通過一個數組。 我在php端構建數組如下。
$setClassResult = array();
while($row = mysql_fetch_array( $result ))
{
$setClassResult= array_push_assoc($setClassResult, $row['item_id'], $row['parent']);
}
echo json_encode(array($setClassResult));
break;
給了我......
[{"830":"0","734":"830","733":"830","732":"830","735":"830","737":"830","736":"830","738":"830","739":"830","740":"830","741":"830","742":"830","872":"0","869":"872","868":"872","880":"872","964":"872"}]
解碼和更改我使用的元素.....
$.each(data, function(key, val) {
$("#recordsArray_"+key).toggleClass(val);
alert(key+" "+val);
});
警報發生一次0[object,Object]
這是因為我創建數組的方式? 我注意到的第一件事是JSON周圍的[
和]
。
無需添加額外數組,請嘗試:
echo json_encode($setClassResult);
您的結果是對象格式數組:
[{"830":"0","734":"830","733":"830","732":"830","735":"830","737":"830","736":"830","738":"830","739":"830","740":"830","741":"830","742":"830","872":"0","869":"872","868":"872","880":"872","964":"872"}]
因此,當你進行迭代時,它首先遍歷數組並且鍵是0並且值是一個對象。所以,如果你稍后遍歷作為對象的值,你將得到它
或者作為soju,如果你不需要將它存儲在對象數組中但只有一個對象並迭代一次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.