2017-01-21 7 views
0

を使用してJSONで適切なURLを取得できません:は、私がこのような何かを取得しようとしていますPHP

[{ 
    "id": "1", 
    "url": { 
     "small": "http://website/images/image.jpg", 
     "large": "http://website/images/image.jpg" 
    }, 
}] 

私のコードは次のとおりです。

<?php 
defined('DS') ? null : define('DS', DIRECTORY_SEPARATOR); 
define('SITE_ROOT', "www.website.net/images/"); 


$con = mysqli_connect('localhost','test','test','test'); 
$sql="SELECT * FROM images"; 
$result=mysqli_query($con,$sql); 
$response=array(); 

while ($row = mysqli_fetch_array($result)) { 
$turl = SITE_ROOT.$row['id'].".jpg"; 
$url = str_replace("\/", "\\", $turl); 
$json_Array[] = array('id'=>$row[id],'url'=>array('small'=>$url.$row[src],'large'=>$url.$row[src])); 
} 

echo(json_encode($json_Array)); 
mysqli_close($con); 
?> 

しかし、JSONエンコードした後、これはどのような私です取得:

[{ 
"id":"1", 
"url":{ 
    "small":"www.website.net\/images\/1.jpg", 
    "large":"www.website.net\/images\/1.jpg" 
     } 
}, 
{"id":"2", 
"url":{ 
    "small":"www.website.net\/images\/2.jpg", 
    "large":"www.website.net\/images\/2.jpg"} 
}] 

URLはwww.website.net/images/1.jpgのようにします。 私も使ってみました:

$turl = SITE_ROOT.$row['id'].".jpg"; 
$url = str_replace("\/", "\\", $turl); 

しかし、まだそれらを取得しています。 この点については、どんな種類の助けにも感謝します。

+0

JSONは、JSON文字列の一部の文字をエスケープします。それはあなたが期待している値にデコードされます – JimL

+0

それを克服するための任意の提案? @JimL – Sam57

+0

@JimLの2番目の文章を参照してください! – RiggsFolly

答えて

1

として何かをしてみてください。必要がない場合は、JSON_UNESCAPED_SLASHESオプションを2番目のパラメータとして渡します。 PHP 5.4.0以降で利用可能です。

例:

echo(json_encode($json_Array, JSON_UNESCAPED_SLASHES)); 

詳細については、json_encode()を参照してください。

+0

ありがとう@レイRadin それは魅力的なように働いた。 – Sam57

-1

はスラッシュをエスケープjson_encode()デフォルトでは、この

function request($query){ 
    $data = array(); 
    $index = 0; 
    if($r = mysqli_query(self::$conn, $query)){ 
     while($row = @mysqli_fetch_array($r)){ 
      $data[$index] = $row; 
      $index++; 
     } 
     return array("request"=>$r, "rows"=>json_decode(json_encode($data), true)); 
    } 
} 
+0

OPのコーディングには何も問題はありません。これは、彼のquesitonでOPを助けることは何も達成していません – RiggsFolly

関連する問題