首先在前台页面中的json数据为
var recipe = {}; recipe["name"] = $("#name").val(); recipe["age"] = $("#age").val(); recipe["sex"] = $("#sex").val(); recipe["medicine"] = "{'name': 'a', 'value': 'b'}";
使用ajax的post进行传输
$.ajax({ type: "post", dataType: "json", url: "/doctor/recipe/add/", data: recipe, success: function(Data){ alert("success") } });
在django的view中获取
request.body中的数据为
<QueryDict: {u'medicine': [u"{'name': 'a', 'value': 'b'}"], u'age': [u'12'], u'name': [u'asdf'], u'sex': [u'1']}>
可以发现medicine下的数据为字符串,但是是unciode格式
if request.method == "POST": recipe_json = request.POST['medicine']//首先这里获取到的数据为unicode格式 recipe = recipe_json.encode("utf8")//将其转化为str print recipe print eval(recipe)//用eval方法转化为字典 recipe_dict = eval(recipe) print recipe_dict['name'] return HttpResponse(json.dumps(True))
jquery中json数据转换为字典
时间: 2024-10-05 23:27:16