当我在我的api上使用ajax发布时,我得到了下面的信息,我没有看到此数据类型,谁能解释一下:
{
u'params[memory_cpu_address][3][cpu]': u'1\u6838',
u'params[bandwidth][bandwidth]': u'1M',
u'params[security_setting][example_name]': u'lasd01',
u'params[memory_cpu_address][2][model]': u'\u6807\u51c6\u578b\u4e00',
u'params[server_count][server_length]': u'1\u53f0',
u'params[operating_system][system_edition]': u'Windows2003',
u'params[memory_cpu_address][0][address]': u'\u6df1\u5733',
u'params[security_setting][user_name]': u'root',
u'params[storage][data_disk][disk_length]': u'0',
u'params[storage][system_disk][type]': u'SSD',
u'params[security_setting][user_password]': u'lasd01',
u'params[memory_cpu_address][4][memory]': u'1G',
u'params[total_prices][prices]': u'430',
u'params[memory_cpu_address][1][usable-area]': u'\u6df1\u5733\u4e00\u533a',
u'params[operating_system][system_name]': u'Windows',
u'params[storage][data_disk][type]': u'SSD',
u'params[time_buying][deta_time]': u'1\u6708',
u'params[storage][system_disk][disk_length]': u'40'
}
我的ajax代码是:
$.ajax({
type:'post',
url:'/app_api/buy_server/',
data:{'params':buy_data}, # buy_data is a dictionary in js
success:success_func,
})
我的views.py代码是:
if request.method == 'POST':
post_querydict = request.POST
post = post_querydict.dict()
print (post)
如何获得普通的词典格式?因为这种类型的数据,所以无法获得像
post.get("params")
这样的数据。 最佳答案
在Python中反序列化数据时,将数据作为JSON发送。
$.ajax({
type: 'post',
url: '/app_api/buy_server/',
contentType: 'application/json',
data: JSON.stringify({'params':buy_data}),
success: success_func,
})
...
post_data = json.loads(request.body)
print(post_data)
关于python - python中奇怪的格式数据是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46319674/