dsxfa26482 2018-08-04 08:21
浏览 61
已采纳

无法解码php中的JSON文件

I try to decode JSON in PHP To array. This is my code

<?php
$url="file/game.json";
$result_file=file_get_contents($url);
    if(!$result_file){ echo 'result_file......Failed'; }
$php_result=json_decode($result_file,true);
print_r($php_result);

if($php_result){

    echo 'ok';
}
else{

    echo 'error';
}
?>

AND this is my json file

[
  {
    "name": "ABCD",
    "price": "24.36",
    "platform": "<span class=\"platform battle-net\"></span>",
    "region": "GLOBAL"
  },
  {
    "name": "ABCD",
    "price": "27.60",
    "platform": "<span class=\"platform xbox-live\"></span>",
    "region": "GLOBAL"
  }
]

My result Is "error". And I don't no know how to solve this problem.

What should I do.

  • 写回答

1条回答 默认 最新

  • doure5236 2018-08-04 08:45
    关注

    The file_get_contents function returns the entire file into a string or FALSE on failure. So I assume, here you're not getting the file string. So try like this way,

    <?php
    try {
        $url="file/game.json";
        $result_file = file_get_contents('file/game.json');
        if ($result_file === false) {
            // Handle the error
            echo "ERROR";
        }else{
            $php_result=json_decode($result_file,true);
    
            switch (json_last_error()) {
                case JSON_ERROR_NONE:
                echo ' - OK';
                print_r($php_result);
                break;
                case JSON_ERROR_DEPTH:
                echo ' - Maximum stack depth exceeded';
                break;
                case JSON_ERROR_STATE_MISMATCH:
                echo ' - Underflow or the modes mismatch';
                break;
                case JSON_ERROR_CTRL_CHAR:
                echo ' - Unexpected control character found';
                break;
                case JSON_ERROR_SYNTAX:
                echo ' - Syntax error, malformed JSON';
                break;
                case JSON_ERROR_UTF8:
                echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
                break;
                default:
                echo ' - Unknown error';
                break;
            }
        }
    } catch (Exception $e) {
        // Handle exception
        #echo $e->getMessage();
        #echo $e->code();
    }
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!