【问题标题】:how to get values of an array that is inside an object?如何获取对象内部的数组的值?
【发布时间】:2015-11-20 18:48:12
【问题描述】:

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

这里是对象:

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

我想返回“响应”。有什么帮助吗?

谢谢。

【问题讨论】:

  • 这是 JavaScript,不是吗?
  • @IanMcLaird 好问题!
  • 可能是 Python。有点奇怪,OP 认为这无关紧要。
  • 请不要使用 PHP(对于 drupal)
  • 您在我的问题中看到的结果是来自数据库的 GET 查询

标签: php arrays object return


【解决方案1】:

以下是基于新 cmets 的基本思想:

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

【讨论】:

  • 您好 Patrick,感谢您的快速回复。实际上我需要得到这个:{“fish”,“Birds”..ect}
  • @Mitch 根据您的 cmets 和问题更新。
  • 干得好,帕特里克我完全忘记解码了,非常感谢
  • @Mitch 很高兴为您提供帮助。您可能会考虑选择一个答案来帮助其他人稍后解决同样的问题。
【解决方案2】:

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

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2019-11-10
    • 2023-01-05
    • 1970-01-01
    • 1970-01-01
    • 2019-09-19
    • 2022-10-23
    • 1970-01-01
    • 1970-01-01
    • 2019-12-11
    相关资源
    最近更新 更多