我正在尝试使用棉花糖来验证发布到我的应用程序的JSON数据。我用Jquery发布如下信息:
var testdata = { "field1": "value1", "field2": "value2" };
$.ajax({
type: "POST",
url: "/api/v1/monitors",
data: JSON.stringify(testdata),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data){alert(data);},
failure: function(errMsg){alert(errMsg);}
});
在服务器端,我在Google app Engine上有一个python应用程序,其模式如下:
^{pr2}$还有一个处理程序,比如:
def post(self):
schema = TestSchema()
result = schema.load(self.request.body)
logging.error(result)
在日志中我经常得到:
UnmarshalResult(data={}, errors={u'_schema': [u'Invalid input type.']})
但如果我替换这条线:
result = schema.load(self.request.body)
有了这个:
result = schema.load('{ "field1": u"value1", "field2": u"value2" }')
它工作得很好,但我不想发布unicode,我想使用UTF-8。如何让它获取UTF-8发布的数据并加载它?在
少了一个s!在
棉花糖中的load JSON需要使用.loads()而不是.load()函数。在
谢谢你的帮助!在
相关问题 更多 >
编程相关推荐