我正在构建一个 Google 表单克隆,它将创建一个表单,然后将其存储在服务器中。表单生成器输出此 JSON.stringify 格式:
{"method":"post","action":"/test","html":[{"input_type":"input_text","caption":"What is your name?"},{"input_type":"radio","caption":"What is the name of your dog?","options":{"benny":"Benny","billy":"Billy","bobby":"Bobby"}}]}
我正在尝试将其发送到我的 App Engine 后端,如下所示:
$.ajax({
type: "POST",
url: save_url,
contentType: "application/json; charset=utf-8",
dataType: "json",
data: json_string,
success: function (e) {
console.log(e);
}
});
但是如何在我的服务器上“打开”这个 json 字符串,以便我可以将它插入到我的数据库中?
第一个问题:我应该使用self.request.body
获取数据对象(json字符串),还是有更好的方法来获取它。现在我已经解码字符串以获得正确的格式。
def post(self):
form_elements = json.loads(urllib.unquote_plus(self.request.body))
self.write(form_elements)
第二个问题:使用json.loads
解析json字符串,我得到这个错误:ValueError: No JSON object could be decoded
为什么它不明白它是json?