我有: Serilog 2.7.1 .NET Framework 4.5.x
我有一个具有不同结构的字符串化 JSON。例子:
{
"dto": {
"id": "8d8cc96fa1b44186b28f2a90364e47d2",
"userName": "case6",
"display": true,
"isFullUpdate": false
}
}
Run Code Online (Sandbox Code Playgroud)
我想将其保存为结构化数据 - 而不是字符串化 JSON。
有2种方法:
具有更好的性能 - 找到格式化程序“stringified json” -> 另一种方式结构化数据 - 在将其转换为 JObject 之前(性能更差) - 以及之后将其转换为结构化数据 JsonConvert.DeserializeObject(myStringifiedJson) -> -> 结构化数据(现在作为结果我有:
[21:34:27 INF] [[[]], [[]]])
有一个适用于 netCore 2.0 的解决方案 - 但不适用于 .NET Framework 4.5.x ( https://github.com/destructurama/json-net ) 如果当前行为是一个错误,请提供重现该问题的步骤,如果可能是问题的最小演示
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Information()
.WriteTo.Console()
.CreateLogger();
var myStringifiedJson = @" {""dto"":{""id"":""8d8cc96fa1b44186b28f2a90364e47d2"",""userName"":""case6"",""display"":true,""isFullUpdate"":false}}";
var myJObject = JsonConvert.DeserializeObject(myStringifiedJson);
Log.Information("{@jobject}", myStringifiedJson); // just plaint …Run Code Online (Sandbox Code Playgroud) 我正在尝试将appsettings转换添加到.net core 2控制台应用程序,例如
我发现以下代码可用于asp.net核心:
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange:
true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional:
true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何获取,env.EnvironmentName因为IHostingEnvironment控制台应用程序中没有。
任何帮助将不胜感激