问题描述
我正在尝试将python用作我的swift应用程序的后端。当我将请求发送到服务器时(烧瓶),我可以返回一个字符串,但是不能使用json.dumps()
重新创建json。相反,我得到一个错误。
这是我的Swift代码导入UIKit
let url = URL(string: "http://192.168.0.24:8080/login")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
let param = ["username": "admin","password": "admin"]
request.httpBody = try JSONSerialization.data(withJSONObject: param,options: [])
let session = URLSession.shared
session.dataTask(with: request) { (data,responce,error) in
print(String(data: data!,encoding: .utf8)!)
}.resume()
这也是我的python代码的片段
from flask import Flask,request
from userManagement import userManagement
import json
app = Flask(__name__)
x = {
"name": "admin","username": "admin","password": "admin"
}
script = json.dumps(x)
@app.route("/")
def home():
return "Home page"
@app.route("/login",methods=["GET","POST"])
def login():
if request.method == "GET":
return "GET requested"
elif request.method == "POST":
#checking = userManagement().loginCheck(request.data)
#return checking
print(json.dumps(request.data))
return "HI"
else:
return "Invalid"
if __name__ == "__main__":
app.run(host="192.168.0.24",port="8080",debug=True)
从我可以看到的问题出处:
print(json.dumps(request.data))
但是我不确定如何解决此问题,因为我不知道该过程如何在swift或python上工作。
解决方法
这里的问题是您的快速邮政编码,而不是python的flask代码。在非集成数据结构转换期间,Json转储通常会引发错误。另外,您可以尝试使用flasks jsonify
打印json转储。
您还可以使用邮递员发布推送请求。