从 FileStream 读取 JSON

Reading JSON from FileStream

在 Xamarin.Forms 项目中,我将 JSON 文件保存为嵌入式资源。我通过调用将其作为 FileStream 获取:

var assembly = typeof(App).GetTypeInfo().Assembly;

FileStream fileStream = assembly.GetFiles()[0];

如何将此流解析为 json 字符串? 我知道这很可能是个超级愚蠢的问题,但我很困惑,我得到的只是一些随机字符。

首先,使用

从JSON文件中获取原始字符串

string jsonText = File.ReadAllText("/path/to/file.txt")

从那里,您可以将 JSON 字符串转换为对象(如果需要):

MyClass jsonObj = JsonSerializer.Deserialize<MyClass>(jsonText);

在处理 JSON 文件时不要忘记导入 System.Text.Json.SerializationSystem.Text.JsonSystem.IO

您遇到错误是因为您试图获取文字 FileStream,这不是它的预期用途。您可以在此处阅读有关序列化 JSONs 的更多信息:https://docs.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-how-to?pivots=dotnet-5-0