2014-05-20 108 views
0

我收到的名字和一些文件的链接来自外部网站,并使用下面的代码将其转换成JSON字符串:没有得到期望的输出通过转换PHP数组转换为JSON

<?php 

include('simple_html_dom.php'); 
$f = $_GET['f']; 
$w = "www.something.com"; 
$dom = file_get_html($w); 
$arr = array("file" => array()); 

foreach($dom->find('div[id=file_html] div[id=right_data]') as $top){ 

$n = $top->find('div', 0)->childNodes(0)->innertext; 
$l = $top->find('div', 2)->childNodes(0)->childNodes(0)->childNodes(0)->href; 
$jj[] = array('name' => $n, 'link' => $l); 


} 
array_push($arr['file'], $jj); 

echo json_encode($arr); 

?> 

我期望的输出是

{"songs":[{"name":"file1","link":"link1"},{"name":"file2","link":"link2"}]} 

但输出我得到的是:

{"songs":[[{"name":"file1","link":"link1"},{"name":"file2","link":"link2"}]]} 

可能有人善意指出ERR或在我的代码? 谢谢

+0

迭代后尝试'$改编[ '文件'] = $ JJ;' – Cyclonecode

回答

0

删除这一条,

$arr = array("file" => array()); 

foreach()

foreach($dom->find('div[id=file_html] div[id=right_data]') as $top){ 
    // as it is.... 
} 

$arr['file'] = $jj; 
+0

我需要的 “文件” JSONArray ..有没有其他办法可以在那里? –

+0

谢谢,那工作:) –