2013-02-12 84 views
0

我正在編寫一個應用程序,我允許用戶將他們的產品詳細信息輸入框架[我在PHP上編寫],然後通過使用該框架編碼數據到JSON和我使用Web服務在Android應用程序中檢索的編碼數據。如何使用PHP代碼將Web圖像URL編碼爲JSON

但現在的問題是我不能夠編碼Web圖像的URL,因此我沒有在JSON得到正確的圖像路徑: -

像:

我給此鏈接編碼成JSON:

"imageurl" => "http://www.libpng.org/pub/png/img_png/pnglogo-blk-sml1.png" 

但每當我看到編碼形式的圖片網址JSON得到的東西是這樣的:

"imagepath":"http:\/\/www.libpng.org\/pub\/png\/img_png\/pnglogo-blk-sml1.png" 

爲什麼我收到錯誤的圖像URL ....

我不知道我怎樣才能解決這個issue..please有人幫助我....

albums.php:

 <?php 
/* 
*Simple JSON generation from static array 
*Author: JSR 
*/ 

include_once './data.php'; 
$albums = array(); 

// looping through each album 
foreach ($album_tracks as $album) { 
$tmp = array(); 
$tmp["id"] = $album["id"]; 
$tmp["name"] = $album["album"]; 
$tmp["description"] = $album["detail"]; 
$tmp["imagepath"] = $album["imageurl"]; 
$tmp["songs_count"] = count($album["songs"]); 

// push album 
array_push($albums, $tmp); 
} 

//printing json 
echo json_encode($albums); 
?> 

data.php:

 <?php 
/* 
*Simple JSON generation from static array 
*Author: JSR 
*/ 
$album_tracks = array(
1 => array(
"id" => 1, 
"album" => "Appetizers", 
"detail" => "All appetizers served with mint and tamarind chutneys.", 
"imageurl" => "http://www.libpng.org/pub/png/img_png/pnglogo-blk-sml1.png" 
) 
)); 
?> 
+0

這是[提供的輸入完全有效的JSON結果](http://jsfiddle.net/dgnBL/2/);你想解決什麼問題? – TML 2013-02-12 05:05:44

+0

@TML我編碼的json網址:http://erachnida.net/android/albums.php在我的android應用程序中,我沒有在listview中獲取圖像...所以我想我在編碼web圖像網址時犯了錯誤..請讓我知道,我在我的編碼JSON獲得正確的路徑...? – ASMUIRTI 2013-02-12 05:12:20

+1

JSON中的路徑絕對沒有錯。請注意從[json.org]進行字符串解析的[railroad diagram](http://json.org/string.gif) - 您可以使用或不使用前面的反斜槓來進行solidus('/')。沒有任何符合JSON的實現應該以任何方式窒息。 – TML 2013-02-12 05:13:57

回答

0

對我來說,它的工作原理

<script> 
    var str="http:\/\/www.libpng.org\/pub\/png\/img_png\/pnglogo-blk-sml1.png"; 
    document.write("<img src='" + str + "'/>"); 
</script> 

無論何時您在json中發送圖像路徑或url,它都會轉義所有的斜槓,引號等等。所以,您可以使用一些正則表達式像s/\ //// gis來擺脫這些轉義字符並獲得原始網址或位置。