HTML - JSON C# Asp.Net 代码

HTML - JSON C# Asp.Net Code

我的 HTML 文件中嵌入了 C# 代码。首先反序列化 JSON 文件:

[
   {
      "Subject": "TEST APP",
      "AppScores": [
         {
            "Season": "AAAAAAAAAAAAAAAAAAAA",
            "year": "1"
         },
         {
            "Season": "BBBBBBBBBBBBBBBBBBBBB",
            "year": "2"
         }
      ]
   },
   {
      "Subject": "TEST APP2",
      "AppScores": [
         {
            "Season": "CCCCCCCCCCC",
            "year": "3"
         },
         {
            "Season": "DDDDDDDDDDDDDDDDD",
            "year": "4"
         }
      ]
   } 
]

任何人都可以帮助在我的页面上显示它,因为它似乎不起作用。

目前我正在尝试获取 Response.Write 中的数据以显示到网页上。我选择在 HTML 页面上执行此操作,因为我对如何在 MVC 中执行此操作感到困惑。

完成此操作后,我将使用 Response.Write / 中的变量将每个变量传递到条形图中。任何人都可以帮助我,因为我真的很挣扎。

提前致谢。

我已经更新了您的代码以在线显示数据。我已将 Response.Write 替换为 Html.Raw。这将有助于显示您的文本。

@{
    ViewBag.Title = "SchoolSubject";
}

<h2>SchoolSubject</h2>

@{ 
    string json = File.ReadAllText("JSON.json");
    var root = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<List<MyTest.Models.SchoolSubject>>(json);
    foreach (var subject in root)
    {
        @Html.Raw(subject.Subject);

        foreach (var item in subject.AppScores)
        {
            @Html.Raw(item.Season);
            @Html.Raw(item.year);
        }
    }

}

假设 class 在 SchoolSubject.cs 文件中,如下所示

namespace MyTest.Models
{
    public class SchoolSubjectAppScore
    {
        public string Season { get; set; }
        public string year { get; set; }
    }

    public class SchoolSubject
    {
        public SchoolSubject() { this.AppScores = new List<SchoolSubjectAppScore>(); }
        public string Subject { get; set; }
        public List<SchoolSubjectAppScore> AppScores { get; set; }
    }
}

建议 Html.Raw 因为这只是暂时的。否则,您可能必须确保传递给它的数据的有效性。