【发布时间】:2020-09-20 14:48:27
【问题描述】:
我可以从 HTML 表单中获取 json,但问题是侧 json 中的所有值都转换为字符串类型。
我都试过了
结果 = json.dumps(request.form)
结果 = jsonify(request.form)
但结果还是一样。
HTML form
Output Json
有没有办法得到这样的结果 { “部门”:“销售”, “捐赠”:1538, "名字": "abc", “姓氏”:“ccc” }
HTML 代码
<!doctype html>
<html>
<body>
<div class="container">
<form action="/display" method="post" id="employForm"
<fieldset>
<label>First Name
<input type="text" name="firstName" placeholder="Joe" required>
</label>
<label>Last Name
<input type="text" name="lastName" id="lastName" placeholder="Schmoe" required>
</label>
<label>Homeless cat donation
<input type="number" name="donation" id="donation" placeholder=1234 required>
</label>
<label>
Department
<select name="department" required>
<option value="sales">Sales</option>
<option value="marketing">Marketing</option>
<option value="developer">Developer</option>
<option value="business">Business Relations</option>
<option value="sysAdmin">Systems Administration</option>
<option value="operation">Operation</option>
</select>
</label>
Thanks
</fieldset>
<button class="button-primary" type="submit" value="Submit" form="employForm">SUBMIT!</button>
</form>
</body>
</div>
</html>
这是python烧瓶代码
from flask import Flask, render_template, request, jsonify
import json
app = Flask(__name__)
@app.route('/')
def hello():
return render_template('layout.html')
@app.route('/display', methods=["GET", "POST"])
def display():
result = jsonify(request.form)
return result
if __name__ == "__main__":
app.run(debug = True)
【问题讨论】:
-
我建议您尝试执行 json.loads 以先将其转换回字典,然后再转换为 json.dumps。结果如何?
-
谢谢,但结果是 { "department": "sales", "donation": "1538", "firstName": "abc", "lastName": "ccc" } 捐赠价值不保持格式为数字