2013-11-27 155 views
-1

什麼是將json文件轉換爲html輸出的最佳方式將JSON轉換爲HTML表

我有一個輸出一些json的腳本。我的JSON的樣子:

[ { "description" : "desc 1 test", 
    "image" : "Http://test.com/gram.png", 
    "money" : null, 
    "title" : "title2" 
    }, 
    { "description" : "desc 2 test", 
    "image" : "http://test.com/daddy.gif", 
    "money" : "$7", 
    "title" : "title2" 
    }, 
    { "description" : "desc 3 test", 
    "image" : "test.com/41057.png", 
    "money" : null, 
    "title" : "title3" 
    } 
] 

我希望它吐出出來的東西像這樣的下面(測試數據),但要注意的類是奇數和偶數 - 我不知道我怎麼會去說。

<tr class="gradeA"> 
      <td>title1</td> 
      <td class="center">image1</td> 
      <td class="center">desc1</td> 
      <td class="center">money1</td> 
     </tr> 
     <tr class="gradeA"> 
      <td>title2</td> 
      <td class="center">image2</td> 
      <td class="center">desc2</td> 
      <td class="center">money2</td> 
     </tr> 
     <tr class="gradeA"> 
      <td>title3</td> 
      <td class="center">image3</td> 
      <td class="center">desc3</td> 
      <td class="center">money3</td> 
     </tr> 
     <tr class="gradeA"> 
      <td>title4</td> 
      <td class="center">image4</td> 
      <td class="center">desc4</td> 
      <td class="center">money4</td> 
     </tr> 
+0

但是你在你的例子所提供的類不是奇數和偶數? – Nightfirecat

+0

您可以使用'$ res = json_decode($ json);'將其解碼爲一個php數組 –

+0

它被稱爲'zebra striping',快速搜索該術語(也許在搜索術語中追加'CSS')會發現超過你的需要。 – Jasper

回答

0

這應該工作

$str = "json code"; 
$arr = @json_decode($str)[0]; 
$html = "<table>"; 

$even = true; 

forach ($arr as $value) { 

    $html .= "<tr class = '" . ($even ? 'even' : 'odd') . "'>"; 
    $html .= "<td>{$value['title']}</td>"; 
    $html .= "<td>{$value['image']}</td>"; 
    $html .= "<td>{$value['description']}</td>"; 
    $html .= "<td>{$value['money']}</td>"; 
    $html .= "</tr>"; 

    $even = !$even; 

} 
$html .= "</table>"; 
+0

它在$ arr行上拋出一些錯誤? – BCLtd

+0

通常php不會對數組json_decode($ str)[0];你可以在兩行中沒有@字符,但它會是相同的 – Benedictus

+0

就像$ arr = json_decode($ str); $ arr = isset($ arr [0])? $ arr [0]:array(); – Benedictus