JSON解码取出弦乐引号

  • 本文关键字:解码 JSON php json slim
  • 更新时间 :
  • 英文 :


我有以下JSON:

{"name":"Hello World","products":[{"name":"cup","type":"large"},{"name":"spoon","type":"small"}]}

我正在使用卷曲请求,然后才能获得:

$vars = json_decode($app->request->getBody(), true);
print_r($vars);

,但它取消了nametype的引号,因此,当我尝试在它们上使用foreach循环时,它并不认为它们是字符串。

Array
(
  [name] => Hello World
  [products] => Array
    (
        [0] => Array
            (
                [name] => cup
                [type] => large
            )
        [1] => Array
            (
                [name] => spoon
                [type] => small
            )
    )
)

当我使用这样的操作时:

foreach ($vars as $var){
   print_r($var);
   echo $var[0]['name'];
}

我得到错误: Illegal string offset 'name'为什么会发生?感谢您的所有帮助!

我得到错误:非法字符串偏移'name'为什么会发生?

因为您要迭代的第一个元素是$vars['name'],它的值'Hello World'是字符串。 'Hello World'['name']只是不起作用。

看起来您只想通过$vars['products']迭代。

您正在循环外循环。看起来您只想循环产品。

foreach ($vars['products'] as $var) {
   echo $var['name'];
}

最新更新