php 读文件返回字符串,PHP:file_get_contents('php:// input')返回JSON消息的字符串...

我正在尝试在我的PHP应用程序中读取JSON消息,这是我的php代码:

$json = file_get_contents('php://input');

$obj = json_decode($json, TRUE);

echo $obj->{'S3URL'};

当我这样做时,出现以下错误:

Trying to get property of non-object in setImage.php on line 25 (line 25 is the echo $obj->{'S3URL'}; line)

这是页面请求的请求主体:

Request Url: http://localhost:8888/setImage.php

Request Method: POST

Status Code: 200

Params: {

"S3URL": "http://url.com"

}

这是请求标头:

Accept: application/json

Content-Type: application/json

Connection: keep-alive

Origin: chrome-extension: //rest-console-id

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML,

但是,如果我改为回显$json变量,则会得到以下结果:

S3URL=http%3A%2F%2Furl.com

因此,看起来file_get_contents('php://input');是以字符串形式而不是以JSON形式读取它,这会使解析起来更加困难。

知道为什么它不以JSON形式返回,或者如何使它以JSON形式返回吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,您想知道如何使用PHP接收JSON POST数据,下面是一个简单的示例代码: ```php <?php // 获取POST请求中的JSON数据 $json = file_get_contents('php://input'); // 将JSON数据转换为PHP数组 $data = json_decode($json, true); // 打印PHP数组 print_r($data); ?> ``` 在上面的代码中,我们首先使用`file_get_contents()`函数从`php://input`中获取POST请求中的JSON数据,然后使用`json_decode()`函数将JSON数据转换为PHP数组,最后使用`print_r()`函数打印PHP数组。 如果您想要在接收到POST请求后返回JSON数据,可以使用如下代码: ```php <?php // 获取POST请求中的JSON数据 $json = file_get_contents('php://input'); // 将JSON数据转换为PHP数组 $data = json_decode($json, true); // 创建一个包含返回数据的PHP数组 $response = array( 'status' => 'success', 'message' => 'Received JSON data successfully!', 'data' => $data ); // 将PHP数组转换为JSON字符串 $json_response = json_encode($response); // 设置HTTP响应头 header('Content-Type: application/json'); // 输出JSON字符串 echo $json_response; ?> ``` 在上面的代码中,我们首先使用`file_get_contents()`函数从`php://input`中获取POST请求中的JSON数据,然后使用`json_decode()`函数将JSON数据转换为PHP数组,接着创建一个包含返回数据的PHP数组,然后使用`json_encode()`函数将PHP数组转换为JSON字符串,最后设置HTTP响应头并输出JSON字符串

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值