如何从PHP中没有方括号的json文本中获取数组?

时间:2017-08-14 22:53:45

标签: php arrays json

我正在尝试从结果json没有方括号的api获取数据,看起来像这样

{
  "status":1,
  "time":42868,
  "response":{
    "some_item":"itemval1",
    "itemstat":"itemstatvalue"
  }
}

我试图通过json_decode获得一个数组,但我无法在任何地方找到我已经尝试了好几个小时...

$data = json_decode($result);

通过这样做我将数据以大字符串形式返回,但每当我尝试访问它时,例如

echo $data->time;

echo $data[0];

我收到错误说500我的代码无效,所以我想知道如何将其转换为可以访问这些值的数组。每当我只是echo $data,虽然我得到一个充满了我需要的所有值的可笑大字符串,但无法访问它们。

1 个答案:

答案 0 :(得分:0)

尝试下面的代码。然后,您将能够理解json_decode如何工作以及如何访问属性。

<强> You can see the result here

<?php
$s = '{
  "status":1,
  "time":42868,
  "response":{
    "some_item":"itemval1",
    "itemstat":"itemstatvalue"
  }
}';

$object = json_decode($s);

var_dump($object);

echo PHP_EOL . '------------------------' . PHP_EOL;

$array = json_decode($s, true);

var_dump($array);

echo PHP_EOL . '------------------------' . PHP_EOL;

echo $object->response->some_item;

echo PHP_EOL . '------------------------' . PHP_EOL;

echo $array['response']['some_item'];