2013-11-21 57 views
1

我在解析php時出現了問題,用json.stringfy創建了json。也許問題是對象有數組。 的JSON和核心是:從php解碼javascript json時出錯

$jsonString = "{"tabLabels":["tab1","tab2","tab3","tab4","tab5"],"tabBgs":["21","2","3","0","4"],"tabPublico":[0,0,1,1,0],"fuente":"2","size":"17px"}"; 

$jsonObj = json_decode($jsonString); 

echo $jsonObj->obj; 
$tabs = $jsonObj->tabPublico 
for ($i=0;$i<strlen($tabs);$i++) 
{ 
    echo $tabs[i]; 
} 

的「回聲」不顯示任何東西。

謝謝你的幫助。 奧斯卡。

+0

是你的代碼嗎?如果是這樣,你的JSON字符串是很難逃脫。 – Florent

+0

@Florent,他的JSON很好。 –

+0

@ShankarDamodaran你明白我的意思了(看你的答案)。 – Florent

回答

1

這些都是你的錯誤。

  • 用單引號
  • 你錯過了6號線分號;附上您的$jsonString
  • 您正在使用strlen()而不是count()

修改後的代碼。

<?php 
$jsonString = '{"tabLabels":["tab1","tab2","tab3","tab4","tab5"],"tabBgs":["21","2","3","0","4"],"tabPublico":[0,0,1,1,0],"fuente":"2","size":"17px"}'; 

$jsonObj = json_decode($jsonString); 
$tabs = $jsonObj->tabPublico; 
foreach($tabs as $k=>$v) 
{ 
echo $v; 
} 

OUTPUT:

00110 
+0

downvote的任何原因? –

+0

謝謝你的回答Shankar和Deepu。我在這裏簡化了我的代碼,專注於這個問題,並且我遇到了一些錯誤,jsonString是從sql中獲得的,它不像示例那樣是一個固定的本地變量,然後我沒有引用錯誤和分號。但是你的回答對我有很大的幫助,我的迴路有問題,而且我聽到了一個錯誤的回聲,它破壞了輸出。非常感謝! – Oscardrbcn

+0

@Oscardrbcn,很高興你得到它的工作。快樂的編碼! –

1

嘗試像this.You JSON被嚴重逃脫和數組必須使用count()通過找到陣列的循環長度。下單引號

$jsonString = '{"tabLabels":["tab1","tab2","tab3","tab4","tab5"],"tabBgs":["21","2","3","0","4"],"tabPublico":[0,0,1,1,0],"fuente":"2","size":"17px"}'; 
$jsonObj = json_decode($jsonString); 
$tabs = $jsonObj->tabPublico; 
for($i=0;$i<count($tabs);$i++) 
{ 
    echo $tabs[$i]; 
} 
1
$jsonString = '{"tabLabels":["tab1","tab2","tab3","tab4","tab5"],"tabBgs":["21","2","3","0","4"],"tabPublico":[0,0,1,1,0],"fuente":"2","size":"17px"}' 

通JSON字符串。