2013-02-04 186 views
1

我只是张贴单一数据值这样的 '{' 邮件 ':' [email protected] '}' 在这个阶段json_decode返回JSON数据

php文件

$var = json_decode($_POST,true); 
echo json_encode($var["email"]); 

我只是想返回电子邮件地址以使其工作,但它给了我这个错误:

json_decode()期望参数1是字符串,数组在C:\ wamp \ www \ buyme \ include \ getemailaddress.php在线

4号线是在我的代码

所有我希望能够待办事项是访问电子邮件值和json_encode其返回(是$ var [“电子邮件”])

+0

你不能解码它必须是JSON – rohitarora

+0

你想传递一个数组($ _ POST)的阵列,而不是你需要密码的一个简单的字符串。 '{'email':'[email protected]'}' – Raja

回答

1

如果我给你的第一行正确和你发布一个JSON字符串,你可以这样做:

$requestBody = @file_get_contents('php://input'); 
$var = json_decode($requestBody, true); 
echo json_encode($var['email']); 
+0

它返回null – ONYX

+0

什么返回null? '$ requestBody'? '$ var'?或'$ var ['email']'?你必须更具体一点 –

0

正如你可以在PHP手册$_POST阅读,$ _ POST包含关联数组值。作为manaul过,那就是:

An associative array of variables passed to the current script via the HTTP POST method. 

因此,如果您要发送从客户端的任何JSON字符串中的任何变量,使用该变量来读取JSON字符串这样。

$var = json_decode($_POST['emaildata'],true); 
echo json_encode($var["email"]); 

请检查,如果你的作品..

+0

我如何访问发布的jason对象你是否知道你是如何做到这一点的我变得困惑或让人困惑我 – ONYX

+0

你如何发布客户端数据,你能分享一下代码吗?让我知道如果你也试过$ _POST ['variable-name'] ..这里的变量名包含那个json字符串。 –