实际上我使用php codeigniter作为服务器端语言。所以当我尝试使用 json_encode 将数组发送到Android应用程序时,每次在 user_image url中添加不需要的反斜杠,但数组的其他数据保持不变。
这是我的php codeigniter控制器代码。
class Groups extends CI_Controller
{
public function groupmember()
{
$this->load->model("Groups_Model");
$data['memberlist']=$this->Groups_Model->groupmemberlist($this->input->post('user_id'));
//die(print_r($data));
if($data!=null)
echo json_encode($data,JSON_UNESCAPED_SLASHES);
}
}
这是我的php codeigniter模型代码。
class Groups_Model extends CI_Model
{
public function groupmemberlist($session_id)
{
$this->load->database();
$this->db->select("*");
$this->db->from("circle");
$where = "sender_id='".$session_id." AND request_status=1 ' OR receiver_id='".$session_id."' AND request_status=1";
$this->db->where($where);
$query =$this->db->get();
foreach($query->result_array() as $row)
{
if($row['sender_id']==$session_id)
{
$data[]=$this->friendlist($row['receiver_id']);
}
else
{
$data[]=$this->friendlist($row['sender_id']);
}
}
if(!empty($data))
return $data;
}
function friendlist($userid)
{
$this->load->database();
$this->db->select('*');
$this->db->from('users');
$this->db->where('auth_id',$userid);
$query=$this->db->get();
return $query->result_array();
}
}
这就是我在android中获得响应的方式。
[
[{
"user_id": "7",
"auth_id": "109236658041750871608",
"full_name": "Abdullah Khaled",
"email_id": "abdullahkhaled604@gmail.com",
"image_url": "https:\/\/lh5.googleusercontent.com\/-G9ZMVsph4no\/AAAAAAAAAAI\/AAAAAAAAAAA\/ACSILjX8pu4sXdCmwpUrFTgcRjXT4iwD-w\/s96-c\/photo.jpg"
}]
]
并在获得此响应活动后关闭。
我也尝试在android端替换反斜杠,但它对我不起作用。
下面的代码我试图替换android中的反斜杠。
String myUrl = json_date.getString("image_url");
//myUrl = myUrl.replaceAll("\\\\", "");
我被困了两天所以请帮忙。提前谢谢。
答案 0 :(得分:0)
尝试更换:
echo json_encode($data,JSON_UNESCAPED_SLASHES);
带
echo str_replace('\/','/',json_encode($data));
答案 1 :(得分:0)
试试这个
$str = 'https://lh5.googleusercontent.com/-G9ZMVsph4no/AAAAAAAAAAI/AAAAAAAAAAA/ACSILjX8pu4sXdCmwpUrFTgcRjXT4iwD-w/s96-c/photo.jpg';
$str_encode = json_encode($str);
$str_decode = json_decode($str_encode ,TRUE);
echo $str_encode .'<br>' ;
echo $str_decode;