Отображение свойства JSON в свойство C # автоматически - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть какой-то 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 игнорируется.У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 11 декабря 2018

Для Json, который вы передаете, вам, вероятно, нужна структура DTO следующим образом.

public class RootObject
{
    public Answers answers { get; set; }
}

public class Answers{
    [JsonProperty("3fe69e7e-d753-4079-963e-e4c7dd8643ea")]
    public string Name { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...