C# 如何在.net中将json解析为html

C# 如何在.net中将json解析为html,c#,html,.net,json,asp.net-mvc,C#,Html,.net,Json,Asp.net Mvc,我正在使用.net中的MVC模板,我可以显示我的json,但现在我想将其解析为html,最好是在表中,这样看起来更好 我将json从我的HomeController.cs获取到我的视图,该视图是关于.cshtml的,但它只是json字符串,所以看起来很糟糕 public class HomeController : Controller { public JsonResult TestJson() { var client = new WebClient();

我正在使用.net中的MVC模板,我可以显示我的json,但现在我想将其解析为html,最好是在表中,这样看起来更好

我将json从我的HomeController.cs获取到我的视图,该视图是关于.cshtml的,但它只是json字符串,所以看起来很糟糕

public class HomeController : Controller
{
    public JsonResult TestJson()
    {
        var client = new WebClient();
        var response = client.DownloadString(new Uri("http://localhost:8080/projecten/api/leerlingen"));

        var someObject = JsonConvert.DeserializeObject(response);

        return new JsonResult() { Data = someObject, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
    }

    public ActionResult About()
    {
        var client = new WebClient();
        var json = client.DownloadString(new Uri("http://localhost:8080/projecten/api/leerlingen"));
        //parse json
        ViewBag.Message = json;
        return View();
    }
}
这就是json

[{"inschrijvingsNummer":"0001","naam":"John Smith","email":"john.smith@example.com","evaluatieNummer":"270"},
{"inschrijvingsNummer":"0002","naam":"Joe Bloggs","email":"joe.bloggs@example.com","evaluatieNummer":"370"}]
要使用.net创建html,我将在本页中显示它(关于.cshtml)

@{
ViewBag.Title=“评估”;
}
@ViewBag.Title。
@查看包。留言


您基本上应该创建一个类来表示json数组中的数据

public class FancyPerson
{
    public string InschrijvingsNummer { get; set; }
    public string Naam { get; set; }
    public string Email { get; set; }
    public string EvaluatieNummer { get; set; }
}
当您从http调用中获得json字符串(其中包含一个项目数组)时,将其反序列化为此类的集合

var items = Newtonsoft.Json.JsonConvert.DeserializeObject<IEnumerable<FancyPerson>>(json);
ViewBag.Message = items;

@Shyju as table会更好看我贴了一个答案,谢谢你的帮助。我把班级放在哪里?所以我在执行http调用后反序列化它,这到底是做什么的?你可以把它放在你项目的任何地方。http调用基本上返回一个字符串(它有一个字符串格式的项目数组)。Desiralize方法将数组中的项转换为此类的单个对象。当我复制代码时,它在FancyPerson处出现生成错误,并显示:找不到类型或命名空间名称“FancyPerson”。但是创建了一个名为FancyPerson的类并将其放在一个新文件夹中,我做错了什么?您创建了类还是名称空间?它在名称空间下吗?然后,您必须使用YourNameSpaceName或使用完全限定名(如
YourNameSpaceName.YourClassName
我将其放在这里
namespace ASPNetMVCExtendingIdentity2Roles.Domain{public class FancyPerson{public string inschrivingsummer{get;set;}public string Naam{get;set;}公共字符串电子邮件{get;set;}公共字符串计算器{get;set;}}}}
var items = Newtonsoft.Json.JsonConvert.DeserializeObject<IEnumerable<FancyPerson>>(json);
ViewBag.Message = items;
@{
    var items = (List<FancyPerson>) ViewBag.Message;
}
<table>
@foreach (var item in items)
{
    <tr>
        <td>@item.Naam</td>
        <td>@item.Email</td>
    </tr>
}
</table>