我如何"修剪"这个带有PHP的JSON?

时间:2016-01-26 21:51:06

标签: php json

我有一个格式奇怪的JSON ......但它是我接收它的方式。因为里面的数组很大,简单地复制和粘贴它需要很长时间,所以我想知道是否有PHP方法可以做到。

我得到它的方式是这样的:

{"count":459,"results":[{"title":"Something ....}],"params":{"limit..},"type":"Listing","pagination":{"..":5}}

但我想只得到"结果"数组,基本上是[{"title":"Something ....}]的一部分。我该怎么做?

3 个答案:

答案 0 :(得分:1)

待办事项

$arr = json_decode(your_json, true);

如果再次将其作为JSON,请执行

json_encode($arr['results']);

答案 1 :(得分:0)

您可以按如下方式进入该部分:

$json = '{"count":459,"results":[{"title":"Something ...."}],"params":{"limit":".."},"type":"Listing","pagination":{"..":5}}';
$obj = json_decode($json);
echo $obj->results[0]->title;

输出:

  某事......

答案 2 :(得分:0)

你必须解码你的json。确保json有效!

您解码的json返回类型为stdClass的对象而不是数组!

请参阅下面的测试代码:

$json = '{"count":459,"results":[{"title":"Something ...."}],"params":{"limit": "foo"},"type":"Listing","pagination":{"foo":5}}';

$decoded = json_decode($json);

因此,您可以从对象 results访问数组$decoded

print_r($decoded->results);

但是,在数组中,有对象,因此:

echo $decoded->results[0]->title; // Something ....