Как назвать мой массив объектов json в ядре asp.net - PullRequest
0 голосов
/ 29 сентября 2019

Я пытаюсь назвать свой массив объектов, но в нем перечислены только результаты создания массива:

public class Listagem {
    public List<Captura> captura { get; set; }
}

мой класс

public class Captura {
    public int Codigo { get; set; }
    public string FotoURL { get; set; } 
}

мой контроллер

public IactionResult(Listagem models) {

var resultJson = JsonConvert.SerializeObject(models.captura);

...

Текущие результаты:

[
   {
     "Cod":11111,
     "photo":xxxx,

Ожидаемый результат:

{
   "captura":[
   {
     "Cod":11111,
     "photo":xxxx,

1 Ответ

2 голосов
/ 29 сентября 2019

У вас есть

    var resultJson = JsonConvert.SerializeObject(models.captura);

, но вы хотите

    var resultJson = JsonConvert.SerializeObject(models);

Имена типов не имеют значения. Имена локальных переменных не имеют значения. Содержимое выражения, используемого для получения аргумента SerializeObject, не имеет значения. Только имена членов имеют значение.

Скорее всего, вы написали выше, потому что у вас есть другие вещи в models, которые вы не хотите сериализовать. В этом случае вы должны выполнить

public class CapturaModel {
    public IList<Captura> captura;
};


    //...
    var resultJson = JsonConvert.SerializeObject(new CapturaModel { captura = models.captura; });

Этот код также показывает, почему содержимое используемого выражения получает аргумент для SerializeObject не имеет значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...