мне нужно сделать запрос следующим образом:Как разобрать вложенный объект json ajax в Django?
var url="http://127.0.0.1:8080/simulate/";
$.ajax({
url: url,
type: 'POST',
data:{ student_num:10,
company_num:10,
students:"",
csrfmiddlewaretoken:'{{csrf_token}}',
companies:[{weight:10},{weight:11},{weight:9}]
},
success: function(data, textStatus, xhr) {
var text=xhr.responseText
console.log(text)
}
});
Но таким образом, то request.POST
объект не организует companies
в гнездовой массив JSON. Вместо этого он делает это в 2D массив следующим образом:
<QueryDict: {u'student_num': [u'10'], u'students': [u''], u'companies[2][weight]': [u'9'], u'companies[1][weight]': [u'11'], u'company_num': [u'10'], u'companies[0][weight]': [u'10'], u'csrfmiddlewaretoken': [u'RpLfyEnZaU2o4ExxCVSJkTJ2ws6WoPrs']}>
Таким образом, я чувствую, трудно реорганизовать companies
в список объектов. Я проверил некоторые другие вопросы, некоторые люди говорят, что мы должны сделать это:
companies:"[{weight:10},{weight:11},{weight:9}]"
И затем использовать json.loads
для разбора строки обратно в список объектов. Но я постоянно получаю ошибку разбора, если я использую коды, как это:
company_array = request.POST['company_array']
company_array = json.loads(company_array)
или это:
company_array = json.load(StringIO(company_array))
Так что должно быть правильным способом для обработки вложенного объекта JSON?