如何在PHP解析JSON对象

问题描述:

JSON代码 -如何在PHP解析JSON对象

"days": [ 
     { 
      "day-code": "SUN", 
      "runs": "Y" 
     }, 
     { 
      "day-code": "MON", 
      "runs": "Y" 
     }, 
     { 
      "day-code": "TUE", 
      "runs": "Y" 
     }, 
     { 
      "day-code": "WED", 
      "runs": "Y" 
     }, 
     { 
      "day-code": "THU", 
      "runs": "Y" 
     }, 
     { 
      "day-code": "FRI", 
      "runs": "Y" 
     }, 
     { 
      "day-code": "SAT", 
      "runs": "Y" 
     } 
    ] 

通过使用下面的代码从PHP检索 “天码” -

days[0]['day-code']; 

OR

days[0][0]; 

php error -

Fatal error: Uncaught Error: Cannot use object of type stdClass as array

任何人都可以帮助我解决这个问题。

+0

试'json_decode()' – Afsar

+0

请参考https://www.w3schools.com/js/js_json_php.asp –

+0

我已经解析了它之后,我用于回顾对象。我也使用(天[0] - >日代码),但没有这个工程。我认为问题出现在日代码之间的( - )中。 – user7865403

1. json_decode()所需要的参数true

2.然后就可以像$json_array['days'][0]['day-code'];

工作例如: - https://eval.in/776344

你可以申请foreach()也(在工作示例打印所有值一个接一个)

注意: -

您显示的json数据无效(check here)。它错过了开始{和关闭}

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

+2

呃,你为什么重新打开这个问题? http://*.com/q/29308898/218196是这类问题的标准参考。 –

+0

它真的帮助我。非常感谢:) – user7865403

+0

@ user7865403很高兴为您效劳。欢迎。 –

按照该documentation,你需要指定,如果你想要一个关联数组,而不是从json_decode的对象,这将是代码

json_decode($jsondata, true); 
+6

它宁可只是一个评论 –

首先你需要了解数组和对象stdClass已经检查这一点,你可以使用var_dump($var)

数据包含所有数字索引。可以通过0,1,2

访问它和阵列的单个元件是一个对象,以便可以通过沿箭头访问它( - >)

所以它会像

$days[0]->day-code;