我正在从 html 作为 json 对象获取文本输入并尝试处理它。但是当我尝试下面的代码时,我在 encoding 和解码中得到 error/(page not rendering) JSON
。
@app.route('/', methods=['POST'])
def my_form_post():
text = request.form['text']
#getting text-input as text = {'a':'1','b':'2'}
json_input = json.dumps(text)
ordered_json = json.loads(text, object_pairs_hook=ordereddict.OrderedDict)
print ordered_json
processed_text = htmlConvertor(ordered_json)
#rep(jso)
return render_template("my-form.html",processed_text=processed_text)
但是当我想用一个局部JSON
变量来做这件事时,jso
一切都很好。当我使用 html-input 提供相同的输入时,它给出了一个错误,我什至看不到错误,除了显示Internal Server Error 服务器遇到内部错误,无法完成您的请求。服务器过载或应用程序出错。
@app.route('/', methods=['POST'])
def my_form_post():
jso = '''{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}'''
json_input = json.dumps(jso)
ordered_json = json.loads(jso, object_pairs_hook=ordereddict.OrderedDict)
print ordered_json
processed_text = htmlConvertor(ordered_json)
#rep(jso)
return render_template("my-form.html",processed_text=processed_text)
更新:
现在一切正常,但对于整数,它不起作用。例如:
{"name":"yo","price":"250"}
工作完美,但
{"name":"yo","price":250}
不是。解决方案是什么?任何特定的答案,或者我必须integer
在 python 中检查,然后在应用任何JSON
相关方法和运行之前将其转换为字符串。