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