2016-03-08 31 views
1
$file = dirname(__FILE__) . '/myFile.xml'; 
$xml = simplexml_load_file("$file"); 
$json = json_encode($xml); 

這裏是我的JSON代碼:JSON來PHP表

{ 
    "Commands1": [{ 
     "Name": "XLS1", 
     "Activated": "true", 
     "values": [{ 
      "Name": "Cmd", 
      "default": "false" 
     }, { 
      "Name": "Ls", 
      "default": "false" 
     }, { 
      "Name": "rmdir", 
      "default": "false" 
     }], 
     "Commands2": [{ 
      "Name": "SKA1", 
      "Activated": "true", 
      "values": [{ 
       "Name": "Cp", 
       "default": "false" 
      }, { 
       "Name": "Tcpdump", 
       "default": "false" 
      }, { 
       "Name": "rmdir", 
       "default": "false" 
      }] 

     }] 
    }] 
} 

在我控制我打開一個XML文件,我想知道,如果有可能,以顯示其在一個表中的內容?如果有的話,有人能給我一個簡單的例子嗎?

結果應該像

名稱|值

xls1 | cmd,ls,rmdir

SKA1 | cp,tcpdump,rmdir

+1

你可以請張貼你的JSON字符串嗎? –

+0

@ M.S.P我剛剛做了 –

+0

爲什麼你想用json格式呢? –

回答

1

那麼,這當然是可能的。你需要先將它解碼成一個數組。

$s = json_decode($json,true); 

然後,來到foreach()循環。你將不得不考慮每一個鍵 - 值對,然後迭代該循環來打印結果。
PS:顯然,我在你的Json字符串中發現了一個錯誤。您的Commands2正在成爲Commands1的子集。這是你正確的Json。

{ 
"Commands1": [ 
{ 
    "Name": "XLS1", 
    "Activated": "true", 
    "values": [ 
    { 
     "Name": "Cmd", 
     "default": "false" 
    }, 
    { 
     "Name": "Ls", 
     "default": "false" 
    }, 
    { 
     "Name": "rmdir", 
     "default": "false" 
    } 
    ] 
} 
], 
"Commands2": [ 
{ 
    "Name": "SKA1", 
    "Activated": "true", 
    "values": [ 
    { 
     "Name": "Cp", 
     "default": "false" 
    }, 
    { 
     "Name": "Tcpdump", 
     "default": "false" 
    }, 
    { 
     "Name": "rmdir", 
     "default": "false" 
    } 
    ] 
    } 
    ] 
} 

而且,這裏是一個參考,你可以檢查你的表將如何看起來像從JSON時。 http://json2table.com/
現在,關於你的表格,沒有人會爲你編寫代碼。所以,如果你想學習它,我建議去寶貝步驟。這裏是你的參考http://www.w3schools.com/php/php_looping_for.asp

+0

這正是我所需要的,非常感謝你:) –

2

JSON文件的值將其解碼爲關聯數組並將其傳遞給視圖。從那裏行動就像你會用正常的AssocArray一樣。 在控制器中:

$assoc_array_results = json_decode($json_file_result); 

return $this->render('view.html.twig', array('results' => $assoc_array_results)); 
+0

謝謝你的答案,但這正是我的問題,我不能在我的樹枝視圖中獲取數組,但我不知道如何以表格格式顯示它而不是字符串...我是樹枝上的初學者 –

+1

: {%爲結果結果%} ​​{{result ['Name']}}​​{{result ['Activated ']}} //等 {%endfor%} 只是循環拋出數組 –

+0

什麼是渲染??? –