为了账号安全,请及时绑定邮箱和手机立即绑定

如何读取 appSettings.json 中的字符串数组?

如何读取 appSettings.json 中的字符串数组?

C#
拉莫斯之舞 2021-10-24 17:13:44
我的环境是 VS Code 和 .NET Core 2.0。我需要从我的 appsetting.json 中读取一个状态代码和几对代码/消息。这是我的 appsettings.json 文件{  "http":   {    "statuscode": 200  },  "responses":   {    "data": [      {        "code": 1,        "message": "ok"      },      {        "code": 2,        "message": "erro"      }    ]  }}我正在加载如下所示的配置文件和数据,但一切都为空:private readonly IConfiguration _conf;const string APPSET_SEC = "responses";const string APPSET_KEY = "data";public ValuesController(IConfiguration configuration){    _conf = configuration;    var section = _conf.GetSection($"{APPSET_SEC}:{APPSET_KEY}");    var responses = section.Get<string[]>();    var someArray = _conf.GetSection(APPSET_SEC).GetChildren().Select(x => x.Value).ToArray();}响应和 someArray 都为空。字符串数组似乎无效,但它看起来像一个有效的 Json 字符串数组。我需要修改我的 appsettings 或我的 C# 代码以将“数据”数组加载到变量中吗?我在 json 文件中尝试了一个简化的数组{    "statuscode": 200,    "data": [      {        "code": 1,        "message": "ok"      },      {        "code": 2,        "message": "erro"      }    ] }使用代码:var section = _conf.GetSection($"{APPSET_SEC}");var responses = section.Get<string[]>();但我仍然没有快乐
查看完整描述

2 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

string[]当它是对象数组时,您试图将其作为字符串数组获取,


创建一个 POCO 模型以匹配设置


public class ResponseSeting {

    public int code { get; set; }

    public string message { get; set; }

}

并得到一个数组。


所以给出以下appsetting.json


{

  "http": 

  {

    "statuscode": 200

  },

  "responses": 

  {

    "data": [

      {

        "code": 1,

        "message": "ok"

      },

      {

        "code": 2,

        "message": "erro"

      }

    ]

  }

}

响应数据将被提取如下


var responses = Configuration

    .GetSection("responses:data")

    .Get<ResponseSeting[]>();


查看完整回答
反对 回复 2021-10-24
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

这可以使用放心库在java中完成


JSON.body("http.statuscode") --> 会得到状态码


JSON.body(responses.data.code[0]) --> will get the response code

JSON.body(responses.data.message[0])---> will get the response message

JSON.body(responses.data.code[1])

JSON.body(responses.data.message[1])

对 VScode 的工作原理一无所知。但长话短说,这可能对你有帮助!!!


查看完整回答
反对 回复 2021-10-24
  • 2 回答
  • 0 关注
  • 255 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信