Java 如何将JSON数组中的数据提取为变量并将变量传递给PHP函数

Java 如何将JSON数组中的数据提取为变量并将变量传递给PHP函数,java,php,arrays,json,Java,Php,Arrays,Json,我有一个Java程序,它向PHP文件发送HTTP POST请求。我需要PHP脚本将JSON数据提取到一些变量中,并使用这些变量(参数)调用PHP函数。请在下面找到PHP代码 <?php if ($_SERVER['REQUEST_METHOD'] == 'POST') { $data = json_decode(file_get_contents("php://input"), true); var_export($data);

我有一个Java程序,它向PHP文件发送HTTP POST请求。我需要PHP脚本将JSON数据提取到一些变量中,并使用这些变量(参数)调用PHP函数。请在下面找到PHP代码

<?php
    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {
        $data = json_decode(file_get_contents("php://input"), true);
        var_export($data);      
    }
    else
    {
        var_export($_SERVER['REQUEST_METHOD']);
    }
?> 

请帮助我理解如何将JSON数组数据提取到变量以及如何进行调用

一旦运行了json_decode(),$data就是一个“普通”php数组,其中包含“普通”php值。
所以,例如

/*
JSONObject json = new JSONObject();
json.put("name", "Dash");
json.put("num", new Integer(100));
json.put("balance", new Double(1000.21));
=>
*/
// $input = file_get_contents("php://input");
$input = '{"name":"Dash","num":100,"balance":1000.21}';

$data = json_decode($input, true);
$response = array(
    'name_rev'      => strrev($data['name']),
    'num_mod_17'    => $data['num'] % 17,
    'balance_mul_2' => $data['balance'] * 2
);
echo json_encode($response, JSON_PRETTY_PRINT); // you might want to get rid off JSON_PRETTY_PRINT in production code
印刷品

{
    "name_rev": "hsaD",
    "num_mod_17": 15,
    "balance_mul_2": 2000.42
}
还有两个小贴士:

  • 在访问$data之前,您应该测试$data是否包含您期望的所有元素,请参见,等等
  • 一个java
    Double()
    称为
    balance
    。java double是64位IEEE 754浮点。您可能会达到精度限制的某一点(如果不是范围),请参阅

您的代码现在在做什么?它正在将JSON数组返回给Java程序。我希望PHP脚本调用PHP函数。调用该函数有什么问题<代码>调用whateverfunction($data)谢谢你看这个。这个答案很有帮助。非常感谢。
{
    "name_rev": "hsaD",
    "num_mod_17": 15,
    "balance_mul_2": 2000.42
}