2015-10-23 5 views
0

Я хочу декодировать значение массива в веб-сервисе. Мне нужно декодировать поле «CONTENT_VALUES», которое имеет имя и значение в качестве объекта и передает его в json.ID и USER_ID. Верно value(separate field), но имя и вопрос возврат null. Я хочу декодировать
'ques' => $datas->name, 'answer' => $datas->value .value of CONTENT_VALUES = [{"name": "radio", "value": "", "sur_id": "3", "user_id": "[email protected]", "pagename ":" question_response "}, {" имя ":" истина», "значение": ""}]как декодировать значение закодированного массива

$query1 = mysql_query("select * from `$prefix.response` where ID='$sur_id'"); 
while ($fetch = mysql_fetch_array($query1)) { 
    $content = $fetch['CONTENT_VALUES']; 
    $datas = json_decode($content); 
    $test[] = array('ID' => $fetch['ID'], 'USERID' => $fetch['USER_ID'], 'ques' => $datas->name, 'answer' => $datas->value); 
} 
+1

показать выборки данных $ выборки [ 'CONTENT_VALUES']; –

+1

Возможно, '$ fetch ['CONTENT_VALUES']' недопустим 'JSON' ?! – afaolek

+0

Не используйте старое, устаревшее mysql-расширение (например, mysql_query). используйте [mysqli] (http://php.net/manual/en/book.mysqli.php) вместо –

ответ

1

Посмотрите на http://php.net/manual/en/function.json-decode.php.

Это будет описано, как преобразовать строку JSON в объект или массив PHP.

Когда вы застряли с этим, вы можете довольно просто «php decode json» Google и найти много полезных ресурсов.

Редактировать: Сразу же прочитайте вопрос слишком быстро и неправильно поняли, попробовали ли вы проверить результат возврата вашего заявления $datas = json_decode($content)? Действительно ли CONTENT_VALUES содержит кодированные данные JSON? Действительно ли декодированный объект содержит name и value?

1

Может быть, вы должны установить использование mb_convert_encoding перед декодированием, как этого

$content = $fetch['CONTENT_VALUES']; 
$content_value= mb_convert_encoding($content ,"UTF-8"); 
$datas = json_decode($content_value); 
+0

все еще имея проблему сэр. – user3386779

+0

Теперь он возвращает массив как [{"ID": "2", "USERID": "[email protected]", "ques": [{"name": "comment", "value": "прокомментировать меня причина "," sur_id ":" 1 "," user_id ":" [email protected] "," pagename ":" question_response "}, {" name ":" check-box [] "," value ": "1"}, {"name": "radio", "value": "radio 2"}, {"name": "yes", "value": "no"}, {"name": "date" , "значение": "2015-10-23"}, { "имя": "выбрать-deopdown", "значение": ""}, { "имя": "истина", "значение": "ложный"} , {"name": "number", "value": "55"}]}] – user3386779

+0

Я хочу взять имя и значение в угловом контроллере js – user3386779

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