如何从asp.net core中的外部Json文件访问数据?

时间:2019-09-19 03:37:03

标签: c# json asp.net-core

我想从文件目录中的json文件访问数据。

我尝试使用StreamReader,但不会反序列化数据。

string json = r.ReadToEnd();

WorkFlowConfiguration items = 
    JsonConvert.DeserializeObject<WorkFlowConfiguration>(json);

Debug.WriteLine(items.WorkFlowAction);
Console.WriteLine(items.WorkFlowAction);

items.WorkFlowAction.ForEach(el => Console.WriteLine(el.ToString()));

2 个答案:

答案 0 :(得分:1)

有两种获取外部json文件的方法,如下所示:

1。型号:

public class Test
{
    public string status { get; set; }
    public int code { get; set; }
    public string message { get; set; }
}

2.Json文件:

  {
    "status": "succeess",
    "code": 1,
    "message": "login succeeded!"
  }

3。第一种方法(使用StreamReader):

using (StreamReader r = new StreamReader("C:\\test.json"))
    {
         string json = r.ReadToEnd();
         Test item =JsonConvert.DeserializeObject<Test>(json);
    }

4。第二种方式(使用File.ReadAllText):

var jsonString = System.IO.File.ReadAllText("C:\\test.json");
Test items =JsonConvert.DeserializeObject<Test>(jsonString);

答案 1 :(得分:0)

如果要从启动类访问

"MySettings": {  
    "DbConnection": "abc",  
    "Email": "abc@domain.com",  
    "SMTPPort": "5605"  
  }  


public Startup(IConfiguration configuration)
{   
     var dbConnection= configuration["MySettings:DbConnection"];
}

或者如果要在控制器中使用,则必须在构造函数中注入IConfiguration

public UserController(IConfiguration configuration)  
{  
   configuration = configuration["MySettings:DbConnection"]; 
}