如何获取对象内部数组的值?

时间:2015-08-26 16:07:19

标签: php arrays object return

我有一个包含两个元素的对象,第一个是字符串,第二个是数组,我只需要返回数组。

这是对象:

{
"return_code": 0,
"response": [
{
  "tid": "30",
  "categorie": "Fish"
},
{
  "tid": "31",
  "categorie": "Birds"
}
]
}

我想要回复“回复”。有什么帮助吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

以下是基于新评论的基本想法:

  1. 使用PHP中的json_decode解码您正在使用的JSON字符串。这将为您提供一个PHP对象。
  2. 创建一个空列表,以在结果中包含所需的元素。
  3. 对于已解码的JSON对象的response属性中的每个元素,请将response.categorie添加到列表容器中。
  4. 返回现在的完整列表

答案 1 :(得分:0)

您的数据看起来像JSON,所以我将在jq(" Json Query")中提出一个解决方案 - 这是一种在大多数现代计算平台上都可以使用的语言 - 请参阅https://stedolan.github.io/jq/

最初发布的任务是找到数组。在jq中,这可以使用以下程序完成:.response

随后,该任务被修改为提取"类别"值。 这可以使用以下程序完成:.response [] | .categorie

这是一个例子,假设您的输入位于名为" input.json"的文件中:

$ jq '.response[] | .categorie' input.json
"Fish"
"Birds"

或者,如果要将这些值收集为JSON数组:

$ jq - '[.response[] | .categorie]' input.json
["Fish","Birds"]