【问题标题】:How to read json in asp.net(core)mvc [duplicate]如何在asp.net(core)mvc中读取json [重复]
【发布时间】:2020-05-15 14:07:04
【问题描述】:

我正在尝试从我的本地文件夹中读取 JSON 文件并创建对象将其发送到视图,并尝试读取 json 文件并动态创建类(即我想在基于 json 文件之后创建类我得到我搜索了很多关于它的人请帮助) 我的 json

{

  "Dev": {
            "resourcegroup": "devusemap",
            "storageaccount": "devusemdapstorage",
            "azuresqlserver": "azuresqlserver",
            "container": "container",
            "sourcesqlserver": "sourcesqlserver"
         },
  "qa": {
            "resourcegroup": "qavusemap",
            "storageaccount": "qavusemdapstorage",
            "azuresqlserver": "azuresqlserver",
            "container": "container",
            "sourcesqlserver": "sourcesqlserver"
        }

}

我的班级

 public class Environmet
    {
        public string Name { get; set; }

        Env_properties prop { get; set; }
    }
 public class Env_properties
    {
        public string resourcegroup { get; set; }
        public string storageaccount { get; set; }
        public string azuresqlserver { get; set; }
        public string container{ get; set; }
        public string sourcesqlserver { get; set; }
    }

我的控制器

 public IActionResult Env()
        {
            var json = System.Path("wwwroot/data/sample.json");
            var json = System.IO.ReadAllText(Server.MapPath("wwwroot/data/sample.json"));
            return View();
        }

【问题讨论】:

标签: c# asp.net-mvc asp.net-mvc-4


【解决方案1】:

根据您当前的 JSON,类必须如下所示:

public class Dev
{
    public string resourcegroup { get; set; }
    public string storageaccount { get; set; }
    public string azuresqlserver { get; set; }
    public string container { get; set; }
    public string sourcesqlserver { get; set; }
}

public class Qa
{
    public string resourcegroup { get; set; }
    public string storageaccount { get; set; }
    public string azuresqlserver { get; set; }
    public string container { get; set; }
    public string sourcesqlserver { get; set; }
}

public class Example
{
    public Dev Dev { get; set; }
    public Qa qa { get; set; }
}

我根据你生成的 JSON here

使用生成的类反序列化您的输入 JSON 如下所示:

var obj = JsonSerializer.Deserialize<Example>(json );

【讨论】:

  • 您能帮助如何使用 NJsonSchema.CodeGeneration 从子模式创建 c# 类。我的意思是如何从文件中读取 json shema 并创建类。我经历了很多文件不明白的事情。请为此添加一些代码片段。谢谢
猜你喜欢
  • 2017-07-22
  • 2021-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-05
  • 1970-01-01
相关资源
最近更新 更多