php下 json_decode 转换成stdClass 问题

最近在编写一个php调用接口的程序。

由于对php不熟。使用对方接口返回的数据的格式为:

{"resultCode":"304", "email":"该邮箱已经存在!"}

这个数据格式一看就是json么。

于是二话不说 json_decode转换回来。

$result = json_decode($html);

但一开始正常,后来对方不知道做了什么修改,还是我这边除了什么问题导致json_decode转换后系统报错。错误信息如下:

Fatal error: Cannot use object of type stdClass as array

没办法,只能将转换后的对象打印出来:

object(stdClass)[21]
  public 'resultCode' => string '301' (length=3)
  public 'email' => string '邮箱为空!' (length=13)

 这下伤神了object 对象stdClass。 由命名可以看出是一个标准类。所以应该是转换的地方缺少参数啥的。经过一番查找。最后的解决方案其实很简单:

$result = json_decode($html,true);

  在转换函数中,加上 第二个参数true,即可;

原文地址:https://www.cnblogs.com/lingfengchencn/p/2845717.html