如何根据函数参数中给定的值从 .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
API 使用 RestSharp 进行测试
我添加了 config.json 文件并维护了文件中的所有 URL。 例子
{
"Url1": "http://localhost:45677",
"Url2": "http://localhost:45897"
}
我想根据在 class2
中添加的给定参数从 config.json 中获取特定的 URLpublic 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