php - 创建 JSON 对象并使用 PHP CURL 访问它在解码时返回空白
问题描述
我正在尝试从表单数据创建一个 JSON 对象并允许从外部服务器访问。如果我尝试解码它,它会返回空白,所以我想我编码错误?
*注意这两个文件在不同的服务器上
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;
推荐阅读
- regex - 如何指示 Scala 的正则表达式匹配器选择最左边的交替
- reactjs - 挂钩倒数计时器不显示零
- rust - 如何接受带有任何散列算法的 Rust HashMap?
- c++ - 使用 clang/clang++ 编译时出错 [-Werror,-Wrange-loop-constrcut]
- go - 基于布尔条件填充优先级队列
- kotlin - Ktlint 忽略 .editorconfig
- flutter - 孩子已经指定 | 带有标题和副标题的颤振容器
- firebase - Firestore:跨所有文档查询单个属性
- javascript - p5.js 让球从中间移出并分成不同的方向
- html - 哪种 HTML 格式在语义上是正确的?