如何将JSON文本转换为PHP关联数组

时间:2010-11-24 08:24:50

标签: php json

我将以下JSON对象存储在文本文件(data.txt)中:

{"player":"black","time":"0","from":"2c","to":"3d"}

我使用php阅读:

<?php
  $data = file_get_contents('data.txt');
?>

问题:有一种简单的方法可以将$data转换为PHP关联数组。我尝试过使用json_decode($data);但是没有用,有什么建议吗?

3 个答案:

答案 0 :(得分:20)

$assocArray = json_decode($data, true);

第二个参数将结果设置为对象(false,默认值)或关联数组(true)。

答案 1 :(得分:2)

尝试: json_decode($data, true)

http://www.php.net/manual/en/function.json-decode.php

它对我有用。另外,请确保您的PHP版本具有json_encode / json_decode

答案 2 :(得分:0)

您可以使用此函数从php中的json转换数组,这可以验证提供的字符串是否有效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;
}