我在Script文件夹中创建一个文件夹“ js”,并使用数组城市创建了一个文件json 我尝试读取此文件夹中的文件,然后将列表返回到我的选择视图。
{
"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;
}
}
这是错误:
答案 0 :(得分:1)
此代码将具有json文件路径,而不是json文件的内容:
var json = Server.MapPath("~/Scripts/js/cidade.json");
您应该将其更改为以下内容以读取json内容:
var json = System.IO.ReadAllText(Server.MapPath("~/Scripts/js/cidade.json"));
您还在json数据中缺少s
。您的课程具有属性IList<Cidade> cidades
,而json的键为cidad
答案 1 :(得分:0)
我的最终代码:
[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; }
}