用PHP解析JSON

用PHP解析JSON,php,json,Php,Json,我正在以json格式从iOS应用程序向服务器发送数据。这是格式 { "email" : "email", "password" : "password" } 如何在PHP中获取这些变量?我实际上想得到这样的参数 $json = $_POST['jsondata']; $data = json_decode($json, TRUE); $email = $data['email']; $user_password = $data['password']; 如果我无法获

我正在以json格式从iOS应用程序向服务器发送数据。这是格式

{
  "email" : "email",
  "password" : "password"
}
如何在PHP中获取这些变量?我实际上想得到这样的参数

$json = $_POST['jsondata'];
$data = json_decode($json, TRUE);

$email         = $data['email'];
$user_password = $data['password'];
如果我无法获得这样的数据,请告诉我如何发送数据,以便后端可以接受我的数据?

请尝试下面的方法

方法1:

$json = file_get_contents( 'php://input' ); // RECEIVE INPUT JSON STRING

        $data = json_decode($json, TRUE);

        $email         = $data['email'];
        $user_password = $data['password'];
方法2:

fopen(DOCROOT."json.txt","w+");

file_put_contents("json.txt", $_POST);
$recoreds = file_get_contents('json.txt', true);

$json_a=json_decode($recoreds, true);

这应该是正确的方法。你们的问题是什么?当我收到来自iOS应用程序的请求时,我遇到了同样的问题,并以下面的方式进行了纠正。请参考我的回答问题是我无法在服务器上接收变量。如果我这样做,它会说jsondata是未定义的,因为在我的jsondata中没有变量作为jsondata出现。您是用POST、GET还是其他方式发送数据的?您是否尝试打印($\u POST)?那么,您是否在一个名为jsondata的表单变量中传递上面的json?这个“jsondata”的名字来自哪里?如果你只是传递原始的json,那么你需要得到帖子的主体,就像在anto的回答中,你在json解码之前打印了
$json
jest($json,TRUE)尝试打印<代码>打印($\u请求)并查看您是否获得了预期的值。我想我的应用程序有问题。悬挂on@hellosheikh您也可以尝试第二种方法,但如果一次可能有多个对php脚本的请求,则应该稍加修改。此外,在处理完json.txt文件后,您还应该设法删除该文件。解决方案运行良好。如果你也像你说的那样在IOS上工作,我也需要一些代码方面的帮助。实际上,我想在变量中发送这个json,所以我在变量中接收数据,而不是执行这个文件获取内容('php://input' );