У меня есть какой-то json, который я передаю методу C #, в котором имена свойств имеют Guids, как показано ниже
function sendData() {
var Mydata = {
"answers": {
"3fe69e7e-d753-4079-963e-e4c7dd8643ea": "some name",
"084cb0ad-040c-49e5-bc4f-3d369b50cbef": "An alternative therapist",
"084cb0ad-040c-49e5-bc4f-3d369b50cbef-additional": "n/a",
"77481c26-796f-4f95-b406-e0aa81c54c09": "No",
"77481c26-796f-4f95-b406-e0aa81c54c09-additional": "n/a",
"d2fe04bd-70a5-475e-a908-24e79e449502": "Infection of the urinary system, UTI"
}
};
$.ajax({
data: JSON.stringify(Mydata),
dataType: 'json',
type: 'post',
contentType: 'application/json',
url: "xxxxxxxxxxxxxxxxx/PostData"
});
}
Я пытаюсь сопоставить свойства с объектом C #, который у меня естьопределяется как
public class Answers{
[JsonProperty("3fe69e7e-d753-4079-963e-e4c7dd8643ea")]
public string Name { get; set; }
}
В настоящее время я просто пытаюсь записать значения в консоль, однако свойство name всегда имеет значение null.
[HttpPost]
public void PostData(Answers answers) {
Console.WriteLine(answers.Name);
}
Можно ли заставить C # автоматически сопоставлять значения с правильными свойствами на основе атрибута jsonproperty при передаче в качестве параметра при вызове ajax?
Редактировать
Таким образом, при дальнейшем исследовании кажется, что атрибут jsonproperty игнорируется.У кого-нибудь есть идеи?