2014-12-03 46 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