创建 JSON 对象并使用 PHP CURL 访问它在解码时返回空白



我正在尝试从表单数据创建一个JSON对象并允许从外部服务器访问。 如果我尝试解码它,它会返回空白,所以我想我编码错误?

*注意2个文件在不同的服务器上

index.php:
//Create JSON Object
$vx_json->base_value = 5000;
$vx_json->color_code = 'green';
echo json_encode($vx_json);

这是接收数据的外部php文件

response.php:
// Get results from index.php
$url = 'mysite.com'
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json',));
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch);
$response = json_decode($result);
print_r($response);

除非我这样做,否则 JSON 响应为空:

print_r($result)
{"base_value":5000,"color_code":"green"}

但如果我这样做

print_r($response); 

我没有得到任何响应,也无法像往常一样访问数据:

echo $response['base_value'];

我做错了什么?是我没有正确编码还是响应 JSON 没有正确解码?

所以我在传递值之前没有声明 $vx_json 变量,所以它试图创建一个空对象。

$vx_json  = (object)array();

现在它

通过使用
echo $response->base_value;

你在错误的变量上回显;json_decode在$response上,而不是$result上。试试这个:

$response = json_decode($result);
echo $response ['base_value'];

最新更新