[英]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.