2017-05-11 125 views
0

我有一个API,它通过JSON从一篇文章中获取参数,我想为一个键值对提取数组中的一个值。然而,尽管有很多尝试,但我无法实现。PHP:从JSON数组中提取值

这里是我的代码:

$json = file_get_contents('php://input'); 
$request = json_decode($json, true); 
$parameters = $request["result"]["parameters"]; 

当我登录$parameters到一个文本文件,将其记录作为

{"numberofhits":"5"} 

然而,我的努力捕捉值5不工作:

$numhits = $json['numberofhits']; logs as empty. 

那么:

$numhits = $parameters->numberofhits; 

如何捕获变量中的值5?

+0

你明白了什么,当你'的var_dump()''的$ parameters'变量? –

+1

根据你的代码'$ json'只是一个来自文件的字符串。没有办法'$ json ['numberofhits']'将会工作 – Adrian

+1

@adjan他可能犯了一个错字问这个问题。 '$ parameters-> numberofhits' *应该工作得很好。有些东西没有加起来。 –

回答

0

如果您的$parameters只显示{"numberofhits":"5"},这意味着您的发布请求只是返回json的json。尝试json解码$parameters,再次如json_decode($parameters, true);并记录该结果。它应该记录所需的数组。

+0

当我登录它是空的。 – zztop

+0

您确定您的$参数只显示{“numberofhits”:“5”}吗?如果是这样,上述应该工作得很好。 – gaganshera

1

从您的代码上面$json是一个字符串,而不是一个JSON对象,你应该使用$request访问numberofhits

$request['numberofhits']