如何根据函数参数中给定的值从 .json 文件中保存特定的 url 键

How to hold particular url key from .json file based on the value given in the function parameter

API 使用 RestSharp 进行测试

我添加了 config.json 文件并维护了文件中的所有 URL。 例子

{
   "Url1": "http://localhost:45677",
   "Url2": "http://localhost:45897"
}

我想根据在 class2

中添加的给定参数从 config.json 中获取特定的 URL
public class class2
{
    public void Url1_Request()
    {
        var client = class1.RestClient("Url1");
    }
    public void Url2_Request()
    {
        var client = class1.RestClient("Url2");
    }
}


public class class1
{
    public static RestClient RestClient(string url)
    {

        var client = new RestClient(url);
        return client;
    }
}

您需要将 .json 文件解析为对象。如果你没有内置函数,你可以使用一些第三方库。描述了一些示例 HERE

您可能需要将 .json 文件的结构更改为字典或数组

您可以使用此代码

using Newtonsoft.Json;
.....

public static RestClient restClient()
{
    string json = string.Empty;
    using (StreamReader r = new StreamReader(@"C:\...\config.json"))
        json = r.ReadToEnd();
        
    var jsonObject=JObject.Parse(json);
    
    var url=GetUrl(jsonObject,"Url1");
   return new RestClient(url);
}
    
public string GetUrl(JObject jsonObject, string url)
{
    return  (string) jsonObject[url];
}

url

http://localhost:45677