我在脚本文件夹中创建了一个文件夹“ 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;
  }
}


这是错误:

最佳答案

此代码将具有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

10-04 22:40