首页 > 解决方案 > 如何将我的 json 文件中的数据列表返回到 ASP.NET 中的控制器文件?

问题描述

我有一个包含艺术家姓名列表的 json 文件,我需要在我的控制器中返回这些名称列表。如何访问控制器中的这些名称列表?我对使用 asp.net mvc 非常陌生。这是我尝试过的,但我不确定我是否走错了方向。

[HttpGet("/artist")]
public JsonResult ArtistNames()
{
    List<Artist> showNames = _____
        .Where(name => name.ArtistName)
        .ToList();
        
    return Json();
}

我把空白留在那里,因为我不确定我会在那里放什么,或者即使那是正确的方向。有人可以帮我吗?

这是我的艺术家模型:

public class Artist
{
    public string ArtistName;
    public string RealName;
    public int Age;
    public string Hometown;
    public int GroupId;
    public Group Group;
}

这不是一个真正的应用程序或任何它只是一个练习的任务。这是Json

[
  {"ArtistName":"RZA","RealName":"Robert Diggs","Age":47,"Hometown":"New York City","GroupId":1}, 
  {"ArtistName":"Lloyd Banks","RealName":"Christopher Lloyd","Age":34,"Hometown":"New York City","GroupId":2}, 
  {"ArtistName":"The Game","RealName":"Jayceon Taylor","Age":37,"Hometown":"Compton","GroupId":2},
  {"ArtistName":"Phife Dawg","RealName":"Malik Taylor","Age":45,"Hometown":"New York City","GroupId":3}, 
  {"ArtistName":"Busta Rhymes","RealName":"Trevor Smith","Age":44,"Hometown":"New York City","GroupId":0}, 
  {"ArtistName":"Dr Dre","RealName":"Andre Young","Age":51,"Hometown":"Compton","GroupId":4}
]

标签: c#asp.netasp.net-mvcasp.net-core

解决方案


您可以使用以下代码:

[HttpGet("/artist")]
public JsonResult ArtistNames(string artistName)
{
    var result = new List<Artist>();
    using (StreamReader r = new StreamReader("json file path!"))
    {
        string json = r.ReadToEnd();
        result = JsonConvert.DeserializeObject<List<Artist>>(json);
    }

    result = result
        .Where(name => name.ArtistName)
        .ToList();
        
    return result;
}

推荐阅读