【发布时间】:2016-08-10 22:43:10
【问题描述】:
我是一名普通的 PHP 程序员,我最近构建了一个 API,可以接受传入的 JSON(通过 POST)数据。我正在使用此代码将传入的 JSON 解析为全局对象:
$GLOBALS[json] = file_get_contents("php://input");
$GLOBALS[json] = json_decode($GLOBALS[json]);
该部分工作正常,$GLOBALS[json] 的值是(来自系统日志):
{
"name": "John Doe",
"state": "DE",
"zip": "12345"
}
这个全局对象被一个函数(在一个包含的外部 PHP 文件中)用来读取数组的各个部分:
$name = $GLOBALS[json]->name;
$state = $GLOBALS[json]->state;
$zip = $GLOBALS[json]->zip;
我遇到的问题是这些变量(上面直接列出)都没有任何数据。我已经尝试了所有可以在网上找到的示例,但都没有成功。
仅供参考 - 我也尝试在 json_decode 函数末尾使用 true 选项,并尝试将其作为数组(而不是对象)读取,但仍然没有运气。
是因为我从全局对象/数组开始,还是我只是试图错误地调用密钥对/对象值?
【问题讨论】:
标签: php json parsing global-variables