bie*_*000 2 c# json asp.net-core
我尝试从appsettings.json获取我的部分,然后将其绑定到MongoSettings类的实例,但是我有一个例外:
“无法创建类型为'System.String'的实例,因为它缺少公共的无参数构造函数。”
很奇怪,因为我使用相同的方法来获取jwt设置。
请看一下:
var jwtSettings = Configuration.GetSection("jwt").Get<JwtSettings>(); //it works
var mongoSettings = Configuration.GetSection("mongo").Get<MongoSettings>(); //it doesn't
Run Code Online (Sandbox Code Playgroud)
appsettings.json
"Jwt": {
"issuer" : "localhost:5000",
"expiryMinutes" : 60,
"key" : "das#@4SD120847@12313"
},
"Mongo": {
"connection:" : "mongodb://localhost:27017",
"database" : "MemoTime"
}
Run Code Online (Sandbox Code Playgroud)
MongoSettings:
public class MongoSettings
{
public string Connection { get; set; }
public string Database { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
JwtSettings:
public class JwtSettings
{
public string Key { get; set; }
public string ValidIssuer { get; set; }
public int ExpiryMinutes { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如您所见,应用程序设置中的分类和部分看起来都相似,因此为什么无法获得mongo的设置?
您的问题在Json中有多余的冒号“:”,这说明它为什么会出错
有效的Json数据。
"Jwt":
{
"issuer": "localhost:5000",
"expiryMinutes": 60,
"key": "das#@4SD120847@12313"
},
"Mongo":
{
"connection": "mongodb://localhost:27017",
"database": "MemoTime"
}
Run Code Online (Sandbox Code Playgroud)