我有一个响应,我需要一个参数的值,但我不知道如何解析它。
这是回应。我只需要一个提示来了解如何从这个响应中提取数据并将其保存到一个变量中。
然后下一步是展示它,证明它给了我激活码。
{"status":"created","statusCode":"0001","message":{"type":"success","text":"xd8xabxd8xa8xd8xaaxe2x80x8cxd9x86xd8xa7xd9x85 xd9x85xd9x88xd9x81xd9x82xdbx8cxd8xaa xd8xa2xd9x85xdbx8cxd8xb2 xd8xa8xd9x88xd8xaf"},"error":[],"data":{"user":{"uuid":"f0dd5bee-2228-42a2-a832-ca577002496d","username":"droppp459","phoneNumber":"09443757689","activationCode":"73821"}}}'
这是我的代码:
import requests
import json
import jsonpath
# Api
url = "http://dropp.dlinkddns.com:5000/api/users/register/complete"
def test_new_user():
# ReadFile
file = open("/Users/amirmarezloo/Downloads/Js.json")
json_input=file.read()
request_json=json.loads(json_input)
#Post
response=requests.post(url,request_json)
#Response
assert response.status_code==201
#Header
print(response.headers.get("Content-Type"))
#Parse
response_json=json.loads(response.text)
#Pick
Active=jsonpath.jsonpath(response_json,'activationCode')
print(response.content)
在这种情况下,我想在屏幕上打印73821
,它是响应中给出的激活码。
使用来自jsonpath_ng(pip-install jsonpath-ng(的解析
from jsonpath_ng import parse
jsonpathExp = parse("$..[*].activationCode")
match = jsonpathExp.find(response_json)
for item in match:
print(item.value,"n")
解析上下文:
$表示根对象
表示下一级
*表示任何字段
[n]指示列表索引