繁体   English   中英

在 PHP 中处理嵌套的 JSON POST 请求

[英]Handling nested JSON POST requests in PHP

我正在尝试让 python 客户端发送一个 post 请求,其中包含像这样的嵌套 JSON

{"nested":{"field1":"response1", "field2":"response2"}}

我的python代码在这里

from urllib.parse import urlencode
from urllib.request import Request, urlopen

url="http://localhost/api/vscore.php"
post_fields={"nested":{"field1":"response1", "field2":"response2"}}

request = Request(url, urlencode(post_fields).encode())
json = urlopen(request).read().decode()
print(json)

PHP代码:

print_r($_POST["nested"]);

返回

{'field2': 'response2', 'field1': 'response1'}

但是当我尝试使用 $_POST["nested"]["field1"] 访问“field1”时,它返回:

{

而不是返回“response1”。 如何让我的代码返回嵌套 JSON 中的字段?

如果请求是 json 形式,则应先将json_decode再尝试访问。 nested键应该被访问为:

$nested = json_decode($_POST["nested"], true);
$field = $nested["field1"];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM