2014-08-28 4 views
2

Я работаю над веб-сервисами приложения android на php. Я пытаюсь отправить url с другими данными в json. Но данные, отправленные URL-адресом, показывают нежелательные косые черты (//) в URL-адресе. Я даю вам точный код, я использую ниже:Возникли проблемы при попытке отправить URL через json в php

if(isset($_POST['category_id'])): 

     $result=$db->sub_category($_POST['category_id']); 
     if($result): 
     $msg="Success"; 
     $arr = array(); 
     while($row=mysql_fetch_array($result)): 
      $arr['response'][] = array('category' => $row['category'], 'image' => "http://intelmobizsolution.com/Iphone/upload/iphone/".$row['image'], 'msg'=>$msg,'status'=>true); 
     endwhile; 
     $abc=json_encode($arr); 
     echo json_encode($arr); 
     endif; 


endif; 

Но результат показывает, как это:

{"response":[{"category":"Administrative Support2","image":"http:\/\/intelmobizsolution.com\/Iphone\/upload\/iphone\/27792582102banner_02.jpg","msg":"Success","status":true}]} 

Пожалуйста, предложите мне какое-то решение, чтобы отправить URL с JSON в точном формате, как я хотеть. Спасибо заранее.

ответ

6

Лучший подход заключается в принять косую черту. Они абсолютно не навредят. Это вполне приемлемо для того, чтобы убежать в строки JSON.

Если вы действительно хотите, чтобы избавиться от них, то вы можете использовать:

json_encode($arr, JSON_UNESCAPED_SLASHES); 

... но если ваши данные всегда включает строковое </script> и Выводится JSON в некоторый JavaScript в HTML-документ, а затем вы нарушите свой скрипт.

+0

: json_encode() ожидает точно 1 параметр, 2 , но он отлично работает с str_replace ('\\ /', '/', json_encode ("2011/7/11")); из сообщения http://stackoverflow.com/questions/6743554/problem-slash-with-json-encode-why-and-how-solve-it –

+0

Если 'json_encode' ожидает ровно 1 параметр, то вы используете out датой версии PHP. – Quentin

+0

хм .. да, сэр, вы абсолютно правы, и спасибо за решение .... :) –

Смежные вопросы