如何在 Xamarin 中从资源文件夹中读取 Json/文本文件

3
我有一个Xamarin应用程序,需要读取我添加到资产文件夹中的JSON文件。 这是解决方案资源管理器中的文件夹树的样子。 用于读取此JSON文件的代码从Model文件夹中的User类中调用。
以下是我尝试访问此文件的方式。
string path = Path.Combine(Directory.GetCurrentDirectory(), "..", "Assets", "data", "User.json");
var assembly = typeof(User).GetType().Assembly;
var stream = assembly.GetManifestResourceStream($"{assembly.GetName().Name}.{"User.json"}");
using (var reader = new StreamReader(stream))
{
    string jsonString = await reader.ReadToEndAsync();
    users = JsonConvert.DeserializeObject<List<User>>(jsonString);
}

这个流变量为空,请帮忙检查一下。


它能行吗? - Leo Zhu
1个回答

4

首先,确保您已将User.json文件设置为Buid Action:EmbeddedResource

然后按以下步骤操作:

var assembly = IntrospectionExtensions.GetTypeInfo(typeof(User)).Assembly;
Stream stream = assembly.GetManifestResourceStream("TravulRecd.Assets.data.User.json");
string jsonString = "";
using (var reader = new System.IO.StreamReader(stream))
  {
     jsonString = reader.ReadToEnd();
  }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接