我想从文件目录中的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()));
答案 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"];
}