【问题标题】:unable to read json objects in php无法在 php 中读取 json 对象
【发布时间】:2013-07-29 14:30:24
【问题描述】:

我想在 php 中读取 JSON:

$productsArr = json_decode(stripslashes($_GET['object'])); //this give me word Array

stripslashes($_GET['object']) //gives me [{"code":"44-3"}] 

echo $productsArr->{'code'}; //gives me nothing

我什至试过这个:

foreach($productsArr as $article)
{
 echo $article->code; //nothing is echoing
}

如何循环访问JSON格式的数据?

【问题讨论】:

  • JSON 是什么样的?
  • 发帖print_r($_GET['object'])
  • 我只是想了解一下您要解析的 JSON 是什么样子,以便更好地了解发生了什么问题
  • 尝试使用 $_GET['object'] 这个 urldecode(@$_REQUEST['object'])
  • 您拥有的代码应该可以工作。确保$_GET['object'] 满足您的期望。

标签: php json object foreach echo


【解决方案1】:

1) 通过向 json_decode 的第二个参数提供 true 来强制返回一个数组。

2) 确保这会产生一个数组:

$productsArr = json_decode(stripslashes($_GET['object']), true);
print_r($productsArr);

假设确实如此。访问您的元素:

echo $productsArr['foo']['bar'];

【讨论】:

  • 当我使用 echo 我得到这个:Array ( [0] => Array ( [code] => 54-LA ) )
  • 如何在 foreach 循环中访问元素
  • 在这种情况下,当您对数组运行 foreach 时,它将访问第一级(0-x,在这种情况下只有 0)上的每个元素。 foreach($productstArr as $product) echo $product['code'];没有foreach,你可以直接通过 echo $productsArr[0]['code']; 访问它
猜你喜欢
  • 2019-12-14
  • 1970-01-01
  • 1970-01-01
  • 2016-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-05
  • 2015-07-21
相关资源
最近更新 更多