我正在尝试让python客户端发送包含此类嵌套JSON的POST请求
{"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中的字段?
答案 0 :(得分:1)
如果请求是json格式,则应先json_decode,然后再尝试访问。 nested
键的访问方式为:
$nested = json_decode($_POST["nested"], true);
$field = $nested["field1"];