2016-06-15 1 views
0

Я создаю массив JSON, имеющий строковые данные byte64. Это недопустимый JSON, но когда я удаляю значение displaypic с помощью некоторого нормального string, JSON действителен. Пожалуйста, помогите мне с этим. Есть ли другой способ работы с изображениями, которые нужно разобрать на перекрестных платформах. Как я могу справиться с этой строкой байта 64.Добавление строки base64 в JSON делает ее недействительной

Это длинные данные, поэтому не можете добавить сюда. Ограничение по телу - 30000. Пожалуйста, см. Этот link для JSON.

кода, создающего JSON

function checkLogin_post() 
{ 
    //$responsedata = array(); 

    if($this->post('useremail') && $this->post('password')) 
    { 
     $useremail = $this->post('useremail'); 
     $password = $this->post('password'); 


      $this->load->model('loginmodel'); 

      $table_data = $this->loginmodel->checkLogin($useremail); 
      if (sizeof($table_data) != 0) 
      { 
       foreach ($table_data as $data) 
       { 
        if($password == $data->password) 
        { 

         $responsedata["firstname"] = $data->firstname; 
         $responsedata["lastname"] = $data->lastname; 
         $responsedata["email"] = $data->email; 
         $responsedata["userid"] = $data->userid; 
         $responsedata["displaypic"] = $data->displaypic; //THIS IS THE BASE64 
         $responsedata["ispersonaldetailsfilled"] = $data->ispersonaldetailsfilled; 
         $responsedata["isexpertisedetailsfilled"] = $data->isexpertisedetailsfilled; 
         $responsedata["isprofessionaldetailsfilled"] = $data->isprofessionaldetailsfilled; 

         $this->response(array("success"=>$responsedata), 200); 
         //$this->response($responsedata, 200); 
        } 
        else 
        { 
         $this->response(array("error"=>"Password not matched"), 200); 
        } 
       } 
      } 
      else 
      { 
       $this->response(array("error"=>"User not found"), 200); 
      } 



    } 
    else 
    { 
     if($this->post('useremail') == "") 
      { 
       $this->response(array("error"=>"Useremail can't be null"),200); 
      } 
      if($this->post('password') == "") 
      { 
       $this->response(array("error"=>"Password can't be null"),200); 
      } 
    } 
} 

ответ

0

Это было просто отсутствует скобку в конце. Here's your corrected JSON

Всегда используйте инструменты для проверки вашего json перед публикацией вопроса. Мне лично нравится http://pro.jsonlint.com

+0

Я знаю, что у него отсутствует скобка, но это потому, что я добавил строку base64, без нее отсутствующая скобка есть .. и это автоматически сгенерированный JSON .. Позвольте мне обновить этот код .. Я использую Codeigniter для создания веб-службы ... – prashant0205