首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从PHP中的JSON数组中获取值

从PHP中的JSON数组中获取值
EN

Stack Overflow用户
提问于 2013-08-01 13:47:13
回答 4查看 52.7K关注 0票数 5

我试图在PHP变量中从下面的JSON数组中获取值。

这是数组的var_dump:

代码语言:javascript
运行
复制
array(3) {
  ["id"]=>
  string(2) "14"
  ["css"]=>
  string(400) ""
  ["json"]=>
  string(4086) "
            {
                "Canvas": [
                    {
                        "MainObjects": {
                            "After Participation": {
                                "afterParticipationHeader": "Thank you!"
                            },
                            "Invite Friends": {
                                "InviteHeadline": "",
                                "InviteMsg": "",
                                "InviteImg": ""
                            }
                        },
                        "QuizModule": {
                            "Questions": [],
                            "Submit_Fields": [
                                {
                                    "label": "Name",
                                    "name": "txtName",
                                    "value": true
                                }
                            ]
                        }
                    }
                ]
            }"
        }

我能够在PHP中获得"json“的值,例如:

代码语言:javascript
运行
复制
$json = $data[0]['json'];

但是如何从"json“中的数组(如"AfterParticipationHeader”)中获取值。还有"Submit_Fields“?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-08-01 13:51:27

首先,您必须解码json数据。

代码语言:javascript
运行
复制
$json = json_decode($data[0]['json']);

然后您可以访问您的AfterParticipationHeader

代码语言:javascript
运行
复制
$json->Canvas[0]->MainObjects->{"After Participation"}->afterParticipationHeader
票数 11
EN

Stack Overflow用户

发布于 2013-08-01 13:51:18

可以使用解码器()将有效的JSON字符串转换为PHP变量。注意第二个参数来获得assoc array,而不是不太有用的stdClass

代码语言:javascript
运行
复制
$jsonData = json_decode($data[0]['json'], true);
$header = $jsonData['Canvas']['MainObjects']['After Participation']['afterParticipationHeader'];
票数 4
EN

Stack Overflow用户

发布于 2013-08-01 13:49:24

您可以通过解码函数解码JSON:

代码语言:javascript
运行
复制
$json = json_decode($data[0]['json']);

然后,您将使用数据(在相同的结构中)数组。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17995877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档