我正在尝试将JSON字符串解码为数组,但出现以下错误。

致命错误:不能在第6行的C:\\ wamp \\ www \\ temp \\ asklaila.php中将stdClass类型的对象用作数组

这是代码:

<?php
$json_string = 'http://www.domain.com/jsondata.json';$jsondata = file_get_contents($json_string);
$obj = json_decode($jsondata);
print_r($obj['Result']);
?>

#1楼

以防万一您使用的PHP少于5.2,则可以使用此资源。

http://techblog.willshouse.com/2009/06/12/using-json_encode-and-json_decode-in-php4/

http://mike.teczno.com/JSON/JSON.phps


#2楼

这也将其更改为数组:

<?phpprint_r((array) json_decode($object));
?>

#3楼

这是最新的贡献,但是使用(array)强制转换json_decode是有效的。
考虑以下:

$jsondata = '';
$arr = json_decode($jsondata, true);
foreach ($arr as $k=>$v){echo $v; // etc.
}

如果$jsondata曾经作为空字符串返回(按照我的经验,通常这样),则json_decode将返回NULL ,从而导致错误警告:第3行为foreach()提供了无效的参数 。 您可以添加if / then代码行或三元运算符,但是IMO将第二行更改为...

$arr = (array) json_decode($jsondata,true);

...除非您json_decodejson_decode数百万个大型数组,在这种情况下,如@ TCB13所指出的那样,性能可能会受到负面影响。


#4楼

在PHP中json_decode将json数据转换为与PHP相关的数组
例如: $php-array= json_decode($json-data, true); print_r($php-array); $php-array= json_decode($json-data, true); print_r($php-array);


#5楼

请尝试这个

<?php
$json_string = 'http://www.domain.com/jsondata.json';$jsondata = file_get_contents($json_string);
$obj = json_decode($jsondata, true);
echo "<pre>"; print_r($obj['Result']);
?>

#6楼

尝试这样:

$json_string = 'https://example.com/jsondata.json';
$jsondata = file_get_contents($json_string);
$obj = json_decode($jsondata);
print_r($obj->Result);
foreach($obj->Result as $value){echo $value->id; //change accordingly
}

#7楼

json_decode支持第二个参数,当设置为TRUE ,它将返回一个Array而不是stdClass Object 。 检查json_decode函数的手册页面以查看所有受支持的参数及其详细信息。

例如,尝试以下操作:

$json_string = 'http://www.example.com/jsondata.json';
$jsondata = file_get_contents($json_string);
$obj = json_decode($jsondata, TRUE); // Set second argument as TRUE
print_r($obj['Result']); // Now this will works!

#8楼

根据PHP文档, json_decode函数具有一个名为assoc的参数,该参数将返回的对象转换为关联数组

 mixed json_decode ( string $json [, bool $assoc = FALSE ] )

由于assoc参数默认情况下为FALSE ,因此您必须将此值设置为TRUE才能检索数组。

检查以下代码以获得示例含义:

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));

输出:

object(stdClass)#1 (5) {["a"] => int(1)["b"] => int(2)["c"] => int(3)["d"] => int(4)["e"] => int(5)
}array(5) {["a"] => int(1)["b"] => int(2)["c"] => int(3)["d"] => int(4)["e"] => int(5)
}

#9楼

根据文档 ,您需要指定是否要关联数组而不是json_decode中的对象,这是代码:

json_decode($jsondata, true);

#10楼

尝试这个

$json_string = 'http://www.domain.com/jsondata.json';
$jsondata = file_get_contents($json_string);
$obj = json_decode($jsondata,true);
echo "<pre>";
print_r($obj);

#11楼

json_decode($data, true); // Returns data in array format json_decode($data); // Returns collections

因此,如果要使用数组,则可以在json_decode函数中将第二个参数传递为'true'。


#12楼

我希望这能帮到您

$json_ps = '{"courseList":[  {"course":"1", "course_data1":"Computer Systems(Networks)"},  {"course":"2", "course_data2":"Audio and Music Technology"},  {"course":"3", "course_data3":"MBA Digital Marketing"}  ]}';

使用Json解码功能

$json_pss = json_decode($json_ps, true);

在PHP中循环遍历JSON数组

foreach($json_pss['courseList'] as $pss_json)
{echo '<br>' .$course_data1 = $pss_json['course_data1']; exit; }

结果 :计算机系统(网络)

json_decode到数组相关推荐

  1. php中json_decode返回数组或对象的实例

    1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode - 对 JSON 格式的字符串进行 ...

  2. json_decode php数组,json_decode转化为数组加true,json_encode和json_decode区别

    一.json_encode和json_decode区别 1.json_encode:对象/数组 ---> json 2.json_decode:json ---> 对象/数组 二.json ...

  3. php 数组 json_decode,php中json_decode返回数组或对象_PHP教程

    1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode - 对 JSON 格式的字符串进行 ...

  4. php中json_decode返回数组或对象

    转自:http://www.3lian.com/edu/2014/02-11/128395.html 1.json_decode() json_decode (PHP 5 >= 5.2.0, P ...

  5. php将xml字符串转数组,PHP如何将XML字符串转数组?

    PHP如何将XML字符串转数组? 首先使用函数"simplexml_load_string()",将XML字符串转为对象:$obj = simplexml_load_string( ...

  6. php支付宝同步和异步有什么区别,支付宝异步验签和同步验签

    开发支付接口时未使用支付宝提供的 demo ,那个SDK一堆的坑,所以手工写的全部代码,未使用支付宝一点代码.支付一切正常,异步通知一切正常,异步验证正常. 唯独在查询订单和返回数据两个地方搞了半天, ...

  7. php微博互粉网站源代码,PHP联合【新浪微博】实现第三方登陆

    获取 APP KEY和 APP SECRET 第一步:请求用户授权的token [appkey]&redirect_uri=[回调地址]&response_type=code 请求参数 ...

  8. php 常用函数总结

    第1章 常用还是 1.1 特许用法 1.1.1 DIRECTORY_SEPARATOR=/: 1.1.2 错误提示: throw new Exception('Division by zero.'); ...

  9. tp小程序微信支付部分代码

    小程序微信支付开发指引:https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_8_2.shtml 流程图: <?php names ...

最新文章

  1. 如何使用C或C ++获取目录中的文件列表?
  2. RHEL 6 关闭ThinkPad 触摸板
  3. Cloud 学习笔记10.MapReduce 容错
  4. 关于车机互联方式的一点想法
  5. android布局置顶_Android布局图片置顶
  6. TWebBrowser的常见属性和方法
  7. 对Chrome自动发送邮件插件的改进
  8. 中国“两高”发布司法解释 依法严惩涉地下钱庄犯罪
  9. 84.负载均衡哈希算法:ip_hash与hash模块
  10. 怎样查找某个sp中哪条sql语句存在性能问题。
  11. SetWindowLong 除去窗体标题栏
  12. 路由器刷breed web控制台助手_红米AC2100路由器从零认证登录SCUT校园网踩坑经历...
  13. linux安装jdk8
  14. ORACLE Subtype
  15. 自动生成Makefile的全过程详解2
  16. 电信物联网开放平台_NB-IoT业务对接 Java 后台、Android 前端已完成预研
  17. 02-07GRE真题及答案解析整理
  18. 【vscode】调试cocos creator (Js 无法命中断点问题解决)
  19. HTML5+CSS3小实例:酷炫的菱形加载动画
  20. 网页背景 css 黑色,这段让网页背景变成纯黑色的浏览器插件如何优化?

热门文章

  1. Android初始化过程
  2. 算法------判定字符是否唯一
  3. JsBridge Uncaught TypeError: Cannot call method 'callHandler' of undefined, source
  4. 求助帖:android开发初期:为什么我在活动二设置的singInstance模式跑到活动三去了???
  5. 第九周项目二-我的数组类
  6. Android之一起制作简易唱片播放器
  7. Java网络编程笔记4
  8. Android异步消息处理机制 全解析
  9. 正确的理解iOS MVC
  10. Java NIO.2 Files类的常用方法