Как прочитать файл JSON из папки проекта ASP.NET - PullRequest
0 голосов
/ 01 июля 2018

Я создаю папку "js" внутри папки Script и создаю файл json с массивом citys и я пытаюсь прочитать этот файл в этой папке и вернуть список в мой выбор.

{
  "cidade": [
    { "Nome": "Curitiba" },
    { "Nome": "São Paulo" },
    { "Nome": "Rio de Janeiro" },
    { "Nome": "Santa Catarina" },
    { "Nome": "Rio Grande do Sul" },
    { "Nome": "Acre" },
    { "Nome": "Goias" }
  ]
}

Мой класс:

public class Cidade {
  public string Nome {
    get;
    set;
  }
}

public class Cidades {
  public IList < Cidade > cidades {
    get;
    set;
  }
}

И мои действия:

public class Cidade {
  public string Nome {
    get;
    set;
  }
}

public class Cidades {
  public IList < Cidade > cidades {
    get;
    set;
  }
}

Это ошибка: asp.net error

Ответы [ 2 ]

0 голосов
/ 01 июля 2018

Мой окончательный код:

    [HttpGet]
    public ActionResult Get()
    {
        var json = System.IO.File.ReadAllText(Server.MapPath(@"~/App_Data/cidade.json"));
        Cidade cidade = JsonConvert.DeserializeObject<Cidade>(json);
        return View(cidade);

    }

Мой класс:

    public class Cidades
{
    public string Nome { get; set; }
}

public class Cidade
{
    public List<Cidades> cidade { get; set; }
}
0 голосов
/ 01 июля 2018

Этот код будет содержать путь к файлу json, а не содержимое файла json:

  var json = Server.MapPath("~/Scripts/js/cidade.json");

Вы должны изменить его на следующее, чтобы прочитать содержимое json:

  var json = System.IO.ReadAllText(Server.MapPath("~/Scripts/js/cidade.json"));

Вам также не хватает s в ваших данных JSON. У вашего класса есть свойство IList<Cidade> cidades, в то время как у вашего json ключ как cidad

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