duan7772 2014-09-17 01:43
浏览 24
已采纳

无法在json_decode PHP中获取数据

I have a script which Im trying to get values from a json string decoded into array.. i can not seem to access the data.

$userData = json_decode($_GET['userData']);

echo $_GET['userData']; //<--- This line works fine and show the $_GET value

$id = $userData['hottsourceID']; //<-- This line errors
$coins = $userData['coins'];

echo $id;
echo $coins;

Catchable fatal error: Object of class stdClass could not be converted to string in /home/hottsour/public_html/DeadRun/php/AppCreateDRAccount.php on line 11

  • 写回答

2条回答 默认 最新

  • duaeim2874 2014-09-17 01:47
    关注

    By default json_decode will not create associative arrays, instead it will create objects

    $data = json_decode('{"foo":"bar"}');
    
    echo $data->foo;
    // "bar"
    

    If you'd like json_decode to use associative arrays instead, you can pass true as the second argument

    $data = json_decode('{"foo":"bar"}', true);
    
    echo $data["foo"];
    // "bar"
    

    Now that you know this, you can adapt your own solution like so

    $userData = json_decode($_GET["userData"]);
    
    $id = $userData->hottsourceID;
    $coins = $userData->coins;
    
    echo $id;
    echo $coins;
    

    Additional tips

    Since you're parsing user input, you might want to throw an error if the JSON in $_GET["userData"] is invalid. json_decode will return null if parsing failed.

    function decode($json) {
      $data = json_decode($json);
      if (is_null($data)) throw new Exception("Invalid JSON");
      return $data;
    }
    
    try {
      $userData = decode($_GET["userData"]);
      $id = $userData->hottsourceID;
      $coins = $userData->coins;
    
      echo $id;
      echo $coins;
    }
    catch (Exception $e) {
      echo $e->getMessage();
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行