2014-12-03 43 views
0

嗨我已經被賦予了使用任何形式的客戶端格式化JSON的任務。目前,JSON以這種標準格式輸出。格式JSON通過PHP使用客戶端提取

{"Art":[["1","Game Weapons","Weapons","11","GameWeapons_Final_Sheet.jpg"],["2","Violet","Scenery","11","Violet_sheetformat.jpg"]]} 

要做到這一點,我使用PHP來提取數據,然後編碼

$jsondata = array(); 
while($row=mysqli_fetch_row($result)) 
{ 
$jsondata['Art'][]=$row; 
} 
echo json_encode($jsondata); 

如何去格式化打印前此數據,並再次它必須是客戶端。沒有什麼花哨是必要的,只是簡單的縮進,所以它可以更容易閱讀。道歉,如果我不當張貼或我的問題沒有意義

編輯

我需要我的JSON使用任何客戶端語言

{ 
"Art":[ 
    [ 
    "1", 
    "Game Weapons", 
    "Weapons", 
    "11", 
    "GameWeapons_Final_Sheet.jpg" 
    ], 
    [ 
    "2", 
    "Violet", 
    "Scenery", 
    "11", 
    "Violet_sheetformat.jpg" 
    ] 
] 
} 

EDIT 2縮進這樣

當前代碼

<?php 
include ("config/init.php"); 
$connection = mysqli_connect($hostname, $username, $password, $databaseName) or die("you did not connect"); 
$query = "SELECT * FROM art"; 
$result = mysqli_query($connection, $query) or die (mysqli_error($connection)); 
$jsondata = array(); 
while($row=mysqli_fetch_row($result)) 
{ 
$jsondata['Art'][]=$row; 
} 
$json = json_encode($jsondata); 
?> 
<script> 
var obj = <?php echo $json; ?>; 
var str = JSON.stringify(obj, undefined, 2); 
document.write(str); 
</script> 

所有現在完成了,三江源這麼多

+0

它不清楚你想要什麼。你能解釋一下你的預期產出嗎?任何錯誤?你有什麼和你想要的不同? – 2014-12-03 12:37:13

+0

你是什麼意思格式JSON?就是這樣。 – 2014-12-03 12:44:27

+1

當數據存儲在服務器端時,爲什麼必須格式化客戶端? – symcbean 2014-12-03 12:46:36

回答

1

嘗試json_encode($jsondata, JSON_PRETTY_PRINT);

欲瞭解更多信息,請檢查PHP manual

如果他們這樣做insistant格式前端,你可以做這樣的事情:

<?php 
$jsondata = array(); 
while($row=mysqli_fetch_row($result)) 
{ 
$jsondata['Art'][]=$row; 
} 
$json = json_encode($jsondata); 
?> 
<script> 
var obj = <?php echo $json; ?>; 
var str = JSON.stringify(obj, undefined, 2); 
</script> 
+0

我會用這個,如果我沒有要求做它的客戶端 – Calv 2014-12-03 12:54:54

+0

我可以推薦看看[這個](http://stackoverflow.com/questions/4810841 /何燦I-漂亮打印JSON的,使用的JavaScript)。 – 2014-12-03 12:59:18

+0

我看了一下鏈接,但不知道如何用我當前的代碼實現它。對不起,我沒有明確的專家 – Calv 2014-12-03 13:09:41