找不到JSON文件file.ReadAllText



我在/resources/raw中有JSON文件,但当我尝试加载时出现错误:System.IO.FileNotFoundException:"找不到文件"/dinks.JSON"。"代码:

string drinksJsonData = File.ReadAllText("drinks.json");
var drinks = JsonSerializer.Deserialize<List<drinksclass>>(drinksJsonData);
if(drinks != null)
{
foreach(var drink in drinks)
{
await DisplayAlert("ALERT", "WORKING", "OK");
}
}

我在.csproj中有<MauiAsset Include="ResourcesRaw**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" /><PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" />。我也尝试过更改构建设置,但仍然不起作用。

您可以使用方法FileSystem.OpenAppPackageFileAsync来实现此功能。

请参考以下代码:

private async void OnReadClicked(object sender, EventArgs e) 
      {
var json = await LoadMauiAsset();
await DisplayAlert("", json, "OK");
}
async Task<string> LoadMauiAsset()
{
try
{
using var stream = await FileSystem.OpenAppPackageFileAsync("fake.json");
using var reader = new StreamReader(stream);
return reader.ReadToEnd();
}
catch (Exception ex)
{
return "";
}
}

注意:请将Jason的构建操作设置为MauiAsset

最新更新