2014-11-24 4 views
1

Я пытаюсь получить PHP массив из строки JSONКак преобразовать строку json в php-массив?

$testData = "{ 
     'data' :[{ 
      'id' : '201120121', 
      'bsid' : '200', 
      'bspaymentcode' : '12', 
      'service' : 'bed set', 
      'cost' : '2000', 
      'date_begin' : '12.12.14', 
      'date_end' : '01.01.15' 
     } , 
     { 
      'id' : '20133231', 
      'bsid' : '220', 
      'bspaymentcode' : '22', 
      'service' : 'sport center', 
      'cost' : '2000', 
      'date_begin' : '12.12.14', 
      'date_end' : '01.01.15' 
     }] 
    }"; 

var_dump(json_decode($testData,true));exit; 

Но у меня есть NULL. Есть идеи?

+1

Ваш json недействителен. Он должен использовать двойные кавычки, а не одинарные кавычки для значений. – Anthony

ответ

6

JSON использует двойные кавычки для строк. Ваша строка использует одинарные кавычки, поэтому она недействительна JSON, а json_decode возвращает NULL.

+0

спасибо за ваш ответ – Almas

1

Если вы не можете изменить одиночные кавычки переменных (ваше содержание данных от другого переменного), я думаю, что вы можете использовать str_replace, это код для вас

$testData = "{ 
     'data' :[{ 
      'id' : '201120121', 
      'bsid' : '200', 
      'bspaymentcode' : '12', 
      'service' : 'bed set', 
      'cost' : '2000', 
      'date_begin' : '12.12.14', 
      'date_end' : '01.01.15' 
     } , 
     { 
      'id' : '20133231', 
      'bsid' : '220', 
      'bspaymentcode' : '22', 
      'service' : 'sport center', 
      'cost' : '2000', 
      'date_begin' : '12.12.14', 
      'date_end' : '01.01.15' 
     }] 
    }"; 
$testData = str_replace("'", '"', $testData); 

var_dump(json_decode($testData,true));exit; 
+0

спасибо, что он работает – Almas

0

свопа двойных кавычек (") с одинарная кавычка (') решит проблему.

0

Да, похоже, что все правильно, кроме синтаксиса JSON (вам нужны двойные кавычки, а не одиночные кавычки). Вот отличный сайт для проверки вашей строки/объекта JSON, и он сообщает вы в чем проблема:

http://jsonformatter.curiousconcept.com/

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