c# - 如何从包含 JSON 语法数据的文件中读取数据并将所需键和值存储为变量
问题描述
我不得不说这不是一个完美的世界堆栈溢出问题,我遇到了代码级问题但我想知道如何完全满足以下要求。任何建议/建议都会很棒
我有一个主文件夹,其中包含许多子文件夹。这些子文件夹中的每一个都应该有一个 FieServer.config 文件,其中包含 JSON 格式的数据,如下面的代码所示。
{
"name": "Max",
"age": "six",
"gender": "Male",
"country": "india",
}
我想知道如何从文件中读取并将 2 个键“名称”和“国家/地区”及其各自的值存储为要在我的 C# 项目中使用的变量。
对上述要求的任何建议
解决方案
您最好的选择是首先准备一个用于数据的对象。IE
public class FileConfigData
{
public string Name { get; set; }
public string Country {get; set; }
}
然后只需使用任何 json 序列化程序将 JSON 转换为对象。这是 json.Net lib 的示例: var configData = JsonConvert.DeserializeObject(File.ReadAllText(CONFIG_FILE_PATH)));
要将所有文件放入数组中,您可以使用:
string[] fileConfigs = Directory.GetFiles("path/to/dir", "FieServer.config", SearchOption.AllDirectories);
然后像这样迭代数组:
List<FileConfigData> configList = new List<FileConfigData>();
foreach (var file in fileConfigs){
var configData = JsonConvert.DeserializeObject<FileConfigData>(File.ReadAllText(CONFIG_FILE_PATH)));
configList.Add(configData);
}
我建议您还检查发布的链接@Willseed 和@Marc 以及https://stackoverflow.com/a/12332495/2483016