Я отправляю данные от моего клиента методу на моем контроллере WebApi, который принимает класс ResponseFromClient. Как это WebAPI это обрабатывает все преобразования из JSON и изменяет любые имена полей, чтобы соответствовать случаю конвенции различия между Javascript и C#:Как сопоставить имена массива объектов для изменения имен полей?
public class ResponseFromClient
{
public int QuestionId { get; set; }
public ICollection<AnswerDetail> Answers { get; set; }
public string Task { get; set; }
}
public class AnswerDetail
{
public int AnswerId { get; set; }
public string Text { get; set; }
public bool? Correct { get; set; }
public bool? Response { get; set; }
}
В JavaScript У меня есть массив под названием ans
с каждым элементом вида:
qs.ans[index].id = element.answerId;
qs.ans[index].c = null;
qs.ans[index].r = false;
qs.ans[index].text = element.text;
мне нужно отправить содержимое объекта Javascript responseFromClient
к программе # сервера C:
var responseFromClient = {
questionId: qs.q,
answers: qs.ans,
task: task
};
$http({
method: 'POST',
url: url,
data: responseFromClient
})
Является ли простой способ установить поле answers
в переменной javascript responseFromClient
, чтобы он получал массив, содержащий объекты, которые сопоставляются с классом AnswerDetail
. Другими словами, мне нужно изменить его так, чтобы ответы и получает массив объектов, которые, как это:
old > new
id > AnswerID
c > Correct
t > Text
r > Response
Я думал сделать это, как я, где я переназначить qs.q> QuestionID. Однако ans - массив, поэтому я не уверен, как это сделать.