0

こんにちは、配列リストを出力するこのコードがあります

$Sql1 = "SELECT * FROM tabmp3
         WHERE Mp3_Player = 1
         ";
        $Query1 = mysql_query($Sql1, $Conn)or die(mysql_error($Conn));
        $musicas = array();
        while($Rs1 = mysql_fetch_array($Query1)){

        $musicas[] = array( title => $Rs1['Musica_Nome'], autor => "Grupo Fronteiras", mp3 => "http://site/Musicas/".$Rs1["Disco_Id"]."/".$Rs1["Musica_Mp3"] ); 

        }
         echo ( json_encode($musicas) );

この出力

[{"title":"Alegria do Pov\u00e3o","autor":"Grupo Fronteiras","mp3":"http:\/\/site\/Musicas\/3\/201302140204413c390efdb9957eebd8d85c262f2a4929.mp3"}, {"title":"Bem na moda da fronteira","autor":"Grupo Fronteiras","mp3":"http:\/\/site\/Musicas\/2\/20130214032235fabd12471ffc7790c9204f891919bca8.mp3"}]

キーから二重引用符を削除し、http リンクを次のように修正する必要があります

[{title:"Alegria do Pov\u00e3o",autor:"Grupo Fronteiras",mp3:"http://site/Musicas/3/201302140204413c390efdb9957eebd8d85c262f2a4929.mp3"},{title:"Bem na moda da fronteira",autor:"Grupo Fronteiras",mp3:"http://site/Musicas/2/20130214032235fabd12471ffc7790c9204f891919bca8.mp3"}]

ありがとう

4

3 に答える 3

3

これを試してみてください..あまり良い方法ではないことはわかっています..これを書いているのは、必要なフォームをPHPコードでのみ作成する必要があることを示すためです.

$json = json_encode($musicas);
$json = preg_replace('/["]/', '' ,$json);
$json = str_replace(':',':"', $json);
$json = str_replace(',','",',$json);
$json = str_replace('}]','"}]',$json);
echo $json;

このようにして、あなたが望むものを達成します。でも、何かいい方法を見つけてください。

The correct answer should be this, as commented by @AlvaroLouzada

$json = json_encode($musicas);
$json = preg_replace('/"([^"]+)"\s*:\s*/', '$1:', $json);
echo $json ;
于 2013-02-14T18:51:01.883 に答える
0

の代わりに、次のecho ( json_encode($musicas) );ようにします。

$json_string = json_encode($musicas);
$json_string = str_replace('\/', '/', $json_string);

echo $json_string;
于 2013-02-14T18:27:56.213 に答える