簡體   English   中英

如何讀取 appsettings.json 方括號中的值

[英]How can I read value in square brackets of appsettings.json

我有 appsettings.json 代碼:

"Serilog": {
    "WriteTo": [
      {
        "Name": "RollingFile",
        "Args": {
          "pathFormat": "/home/www-data/aissubject/storage/logs/log-{Date}.txt"
        }
      }
    ]
  }

如何讀取“pathFormat”鍵的值?

你指的是一個 JSON 數組。 你如何訪問它取決於你在做什么,但我假設既然你問這個,你正試圖直接從IConfiguration中獲取它,而不是使用選項模式(你可能應該是).

IConfiguration基本上是一本字典。 為了從 JSON 之類的內容創建該字典的鍵,JSON 使用某些約定“扁平化”。 每個級別將由冒號分隔。 Arrays 將通過添加包含索引的冒號分隔組件來展平。 換句話說,要獲取此特定示例中的pathFormat ,您需要:

Configuration["Serilog:WriteTo:0:Args:pathFormat"]

其中0部分表示您正在獲取數組中的第一項。 同樣,使用選項模式map 將配置值應用到實際的 object 上會更好也更合適,這樣您實際上可以將其作為數組而不是像這樣的魔術字符串進行訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM