У меня есть следующий объект JSON, хранящийся в текстовом файле (data.txt):
{"player":"black","time":"0","from":"2c","to":"3d"}
Который я читаю, используя php:
<?php $data = file_get_contents('data.txt'); ?>
Вопрос: Есть ли простой способ преобразования $data
в ассоциативный массив PHP. Я попытался использовать json_decode($data);
но это не сработало, никаких предложений?
$assocArray = json_decode($data, true);
Второй параметр устанавливает результат как объект (false, default) или ассоциативный массив (true).
Попробуйте: json_decode($data, true)
http://www.php.net/manual/en/function.json-decode.php
Это сработало для меня. Кроме того, убедитесь, что ваша версия PHP имеет json_encode / json_decode.
Вы можете использовать эту функцию для преобразования массива из json в php, это может проверить, является ли предоставленная строка действительной json или нет:
function convert_to_json($file, $in_array = True) { if(file_exists($file)) { $string = file_get_contents($file); }else { $string = $file; } $return_array = json_decode($string, $in_array); if (json_last_error() == JSON_ERROR_NONE) { return $return_array; } return False; }